roslynを使用して、c#式を動的に評価します
データ駆動型アプリケーションの構築またはタイムコード生成の実行では、多くの場合、動的評価C#式が必要です。この記事では、Microsoft Roslynコンパイラプラットフォームを使用してこの目標を達成する方法を示します。
スクリプトAPI RoslynのスクリプトAPIは、式とコードの断片を評価する便利な方法を提供します。特定の手順は次のとおりです
nugetパッケージをインストールします:
nugetを使用してプロジェクトにを追加します。
評価式:メソッドを使用して式を評価し、結果を適切な変数に保存します。たとえば、Microsoft.CodeAnalysis.CSharp.Scripting
結果タイプを指定します:評価された式のタイプを指定するには、一般的なメソッドを使用できます。これにより、結果が強くなります。たとえば、CSharpScript.EvaluateAsync
<code class="language-csharp"> var result = CSharpScript.EvaluateAsync("1 + 3").Result;</code>
CSharpScript.EvaluateAsync<T>
高レベルの特性スクリプトAPIは、多くのシニア特性をサポートしています。
<code class="language-csharp"> var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result;</code>
アセンブリへの参照を提供します 名前空間とターゲットフレームワークを指定
詳細については、RoslynスクリプトAPIドキュメントを参照してください:
<code class="language-csharp">using Microsoft.CodeAnalysis.CSharp.Scripting; using Microsoft.CodeAnalysis.Scripting; // 评估 "1 + 3" var result = CSharpScript.EvaluateAsync("1 + 3").Result; Console.WriteLine(result); // 输出 4 // 评估 "System.DateTime.Now.ToString()" var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result; Console.WriteLine(now); // 输出当前日期时间</code>
以上がRoslynを使用してC#式を動的に評価するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。