[英]Is there a way to load a class file to assembly in runtime?
我正在嘗試做一些在運行時從用戶那里獲取cs文件的東西,使其對程序集有意義獲取其屬性,方法等。
有沒有辦法通過C#中的反射來做到這一點?
要動態編譯文件,你需要在這些行上做一些事情(其中sourceCode是一個包含要編譯的代碼的字符串):
CodeDomProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler compiler = codeProvider.CreateCompiler();
// add compiler parameters
CompilerParameters compilerParams = new CompilerParameters();
compilerParams.CompilerOptions = "/target:library /optimize";
compilerParams.GenerateExecutable = false;
compilerParams.GenerateInMemory = true;
compilerParams.IncludeDebugInformation = false;
compilerParams.ReferencedAssemblies.Add("mscorlib.dll");
compilerParams.ReferencedAssemblies.Add("System.dll");
// compile the code
CompilerResults results = compiler.CompileAssemblyFromSource(compilerParams, sourceCode);
您可以使用CSharpCodeProvider輕松地編譯它。 您可以從深度網站中的C#下載我的代碼段編譯器Snippy的源代碼。 它使用CSharpCodeProvider,因此您可以將其用作示例代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.