我想知道是否有任何方法在代码中传递一个变量值,该代码将使用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参考细节文档