回答:
はい、C#コードフラグメントを動的にコンパイルして実行できます。
c#のような静的.net言語の場合、最良の方法はCodedom(コードドキュメントオブジェクトモデル)を使用することです。 Codedomは、コードフラグメントを動的に構築および実行できます。
csharpCodeProviderは、C#コードをコンパイルするインターフェイスを提供します。次の例:
テキストコンピレーションコードから
:テキストからコードをコンパイルするには、compileasemblyfromsourceを使用してください:
コンパイルされたコードを実行します(リフレクションを使用してください):
<code class="language-csharp">using System.CodeDom.Compiler; using Microsoft.CSharp; var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });</code>
コンパイルが完了したら、反射を使用してアセンブリを動的にロードして実行します。
この方法の利点は、コードが実行前にコンパイルされたため、パフォーマンスが改善されたことです。以上がC#コードフラグメントはテキストファイルから動的に実行できますか?最適なパフォーマンスのためにコンパイルする必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。