を使用して一度コンパイルされるコードに変数値を渡す方法があるかどうか疑問に思っていました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
常に値を表示するように、アプリケーションを実行するたびに.
私はそれが明確であることを願っています!