使用CSharpCodeProvider设置变量值



我想知道是否有任何方法在代码中传递一个变量值,该代码将使用CSharpCodeProvider编译一次性

例如:

string code = @"
using System;
namespace First
{
    public class Program
    {
       public int Value; // pass this value
        public static void Main()
        {
        " +
            "Console.WriteLine("Hello + Value");"
            + @"
        }
    }
}

";

编译方法

public void Compile(String Code)
{
    CSharpCodeProvider provider = new CSharpCodeProvider();
    CompilerParameters parameters = new CompilerParameters();
    parameters.ReferencedAssemblies.Add("System.Drawing.dll");
    parameters.GenerateInMemory = true;
    parameters.GenerateExecutable = false;
    CompilerResults results = provider.CompileAssemblyFromSource(parameters, Code);
}

所以我希望能够传递Value示例的值2

和我所说的ONE TIME就像compile time一样,所以编译后的代码在运行时总是会显示值:2每当我执行应用程序时。

我希望它清楚!

解决使用单声道。Cecil参考细节文档

相关内容

  • 没有找到相关文章

最新更新