有没有办法在运行时将类文件加载到程序集?

Ali*_*söz 8 c# reflection

我正在尝试做一些在运行时从用户那里获取cs文件的东西,使其对程序集有意义获取其属性,方法等.

有没有办法通过C#中的反射来做到这一点?

edo*_*oft 10

要动态编译文件,你需要在这些行上做一些事情(其中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);
Run Code Online (Sandbox Code Playgroud)