ホームページ >バックエンド開発 >C++ >javascriptの `eval()`のようなC#で動的なコード評価を達成するにはどうすればよいですか?

javascriptの `eval()`のようなC#で動的なコード評価を達成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-28 05:51:09418ブラウズ

How Can I Achieve Dynamic Code Evaluation in C# Like JavaScript's `eval()`?

c#

に動的コード実行を実装します この記事では、javascriptの関数と同様に、C#のコードを動的に実行する方法について説明します。

問題の説明eval()

整数変数と「Property1」、「Property2」、「Property3」と呼ばれる複数の属性があるとします。 値に応じて、対応する「プロパティ i

」属性で操作を実行する必要があります。 javaScriptで

を使用してこのタスクを簡単に完了しますが、C#で達成する方法は? i RoslynスクリプトAPIを使用したiソリューションRoslynスクリプトAPIは、C#の動的コード評価のソリューションを提供します。実行時にC#コードを実行できるクラスのセットが含まれています。 eval()サンプルコード

単純な式を評価するには、メソッド:

を使用します

より複雑なコードについては、

メソッドを使用できます:

その後、コードを実行し続けることができます:

EvaluateAsync()

これにより、C#コードを動的に実行し、生成されたオブジェクトと対話できます。
<code class="language-csharp">// 添加NuGet包 'Microsoft.CodeAnalysis.Scripting'
using Microsoft.CodeAnalysis.CSharp.Scripting;

await CSharpScript.EvaluateAsync("System.Math.Pow(2, 4)"); // 返回16</code>

以上がjavascriptの `eval()`のようなC#で動的なコード評価を達成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。