我正在尝试做一些在运行时从用户那里获取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);