动态执行c#代码

  1. Roslyn
    安装Microsoft.CodeAnalysis.CSharp.Scripting
    using Microsoft.CodeAnalysis.CSharp.Scripting;
    using Microsoft.CodeAnalysis.Scripting;
 string code = "int result = 1 + 2; Console.WriteLine(result);";

 var options = ScriptOptions.Default.WithImports("System");

 var script = CSharpScript.Create(code, options);

 script.RunAsync().Wait();
  1. 格式化
 var tree = CSharpSyntaxTree.ParseText(csCode);
           var root = tree.GetRoot().NormalizeWhitespace();
           var ret = root.ToFullString();
           return ret;

参数传递

string code = "Main[\"FFax\"] = \"test\";";
CSharpScript.EvaluateAsync(code, globals: preData).Wait();

[参考]
https://blog.csdn.net/weixin_30802273/article/details/99274776
如何从外部灵活的给C#脚本传递参数

posted @ 2024-11-15 13:11  Hey,Coder!  阅读(78)  评论(0)    收藏  举报