사용자가 런타임에 CS 파일을 가져 오려고하면 어셈블리의 의미있는 속성, 메서드 등을 얻을 수 있습니다.런타임에 클래스 파일을 어셈블리에로드 할 수 있습니까?
C#에서 리플렉션 할 수있는 방법이 있습니까?
사용자가 런타임에 CS 파일을 가져 오려고하면 어셈블리의 의미있는 속성, 메서드 등을 얻을 수 있습니다.런타임에 클래스 파일을 어셈블리에로드 할 수 있습니까?
C#에서 리플렉션 할 수있는 방법이 있습니까?
CSharpCodeProvider을 사용하면 비교적 쉽게 컴파일 할 수 있습니다. C# in Depth web site에서 내 발췌 컴파일러 인 Snippy의 소스 코드를 다운로드 할 수 있습니다. CSharpCodeProvider를 사용하므로 샘플 코드로 사용할 수 있습니다.
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);
: