2015-10-25 55 views

回答

1

編譯並在運行時執行代碼始終是一個挑戰。 您提到的圖書館只是一種方式。

您可以使用由Microsoft和C#團隊隨C#6.0和Visual Studio 2015提供的Roslyn。你無法想象它有多強大。下面是一些示例和演練:

https://github.com/dotnet/roslyn/wiki/Samples-and-Walkthroughs

和其他一些介紹:

https://en.wikipedia.org/wiki/.NET_Compiler_Platform

,這裏是一些樣本來創建一個REPL(像你想要的):

http://www.jayway.com/2015/05/09/using-roslyn-to-build-a-simple-c-interactive-script-engine/

使用Roslyn可以簡單地有一些hing是這樣的:

var csScript = 
    string.Format(@" 
     var x = Math.Max(Math.Avg({0},3),Math.Avg(low1:3)); 
     x; 
    ", high1, low1); 
    //And this from the REPL 
    Console.WriteLine(CSharpScriptEngine.Execute(csScript));