C# 코드 파일의 동적 실행
질문:
WPF C# 애플리케이션에는 애플리케이션의 런타임 디렉터리에 있는 별도의 텍스트 파일에 저장된 코드를 실행하는 데 필요한 버튼이 함께 제공됩니다.
해결책:
텍스트 파일의 코드를 동적으로 실행하려면 다음 단계를 따르세요.
동적으로 컴파일된 클래스 메서드를 실행하는 방법에 대한 샘플 코드는 다음과 같습니다.
<code class="language-csharp">using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.IO; using System.Reflection; using System.Net; using Microsoft.CSharp; using System.CodeDom.Compiler; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string source = @" namespace Foo { public class Bar { public void SayHello() { System.Console.WriteLine(""Hello World""); } } } "; Dictionary<string, string> providerOptions = new Dictionary<string, string> { {"CompilerVersion", "v3.5"} }; CSharpCodeProvider provider = new CSharpCodeProvider(providerOptions); CompilerParameters compilerParams = new CompilerParameters {GenerateInMemory = true, GenerateExecutable = false}; CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source); if (results.Errors.Count != 0) throw new Exception("编译失败!"); object o = results.CompiledAssembly.CreateInstance("Foo.Bar"); MethodInfo mi = o.GetType().GetMethod("SayHello"); mi.Invoke(o, null); } } }</code>
이러한 단계에 따라 WPF 애플리케이션의 코드 파일에서 C# 코드를 동적으로 실행할 수 있습니다.
위 내용은 WPF 애플리케이션의 파일에서 C# 코드를 동적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!