2010-06-22 49 views
3

我能更早被問及同類question但這是在Java ....
現在的知識,我想知道...
如何使用C#代碼運行C#代碼?

是有可能通過運行一個C#代碼另一個C#代碼?

bcz我知道C#非常強大,所以他們可能有一些方法來做到這一點。

回答

4

這是同一類交易:

  • 編譯代碼,例如使用CSharpCodeProvider
  • 執行代碼,例如,使用反射

如果download Snippy從C#中深度的網站,你可以看到這樣一個短小的例子 - 基本上你的C#代碼片段類型,它可以編譯和執行它們。

4

這最終是運行時功能;在MS .NET中,CSharpCodeProvider是目前最接近的,儘管他們提到將來可能會考慮「編譯器即服務」。

如果您樂意使用Mono,it already existsREPL example

(從here)用途:

// First setup the active using statements: 
    Evaluator.Run ("using System;"); 

    Evaluator.Run ("Console.WriteLine (\"Hello, World\");