2013-04-18 48 views
-1

我希望能寫代碼到一個已經運行的程序,將編譯並執行代碼時,我打我的UI發送代碼按鈕。如何編寫和編譯「對飛」

例如:

如果鍵入:

MessageBox.Show("Hello World"); 

和點擊發送,我會得到一個彈出說的Hello World。

我已經搜查,搜查的方式來這一點,但我不能讓任何工作。

任何人都可以推薦一個很好的方法來做到這一點?

+0

可能重複http://stackoverflow.com/questions/10831421/c-sharp-how-to-add-a-code-到執行-在運行時);也看到[是否有可能動態編譯和執行C#代碼片段?](http://stackoverflow.com/questions/826398/is-it-possible-to-dynamically-compile-and-execute-c-sharp-code -fragments) –

+0

您是否閱讀過codedom? –

+0

StackOverflow用戶傾向於傾向於顯示您嘗試的方式,並要求獲得幫助,而不是簡單地詢問如何操作。 – Crisfole

回答

2

你可以使用CSharpCodeProvider但它是一個較老的技術,很快將過時。

最新的項目微軟還與玩弄是羅斯林,這是目前在CTP和它暴露構建C#和VB.NET的應用程序時所使用的微軟和VStudio等編譯器和分析系統。

下面是如何使用其內置的腳本引擎的鏈接。

http://visualstudiomagazine.com/articles/2011/11/16/the-roslyn-scripting-api.aspx

的[C#如何添加代碼在運行時執行(
+0

這看起來像一篇非常有趣的文章。感謝您的閱讀! –

1

你要找的是CSharpCodeProvider

這允許您從源代碼編譯或評估C#代碼並運行它。它可以在運行中和從另一個進程中完成。