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

javascriptの `eval()`のようにC#コードを動的に実行するにはどうすればよいですか?

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

How Can I Dynamically Execute C# Code Like JavaScript's `eval()`?

C#の動的コードは

を実行します

動的コード評価は、動的で柔軟なアプリケーションを作成するための強力なテクノロジーです。 JavaScriptはeval()関数を使用してこの目的を達成しますが、C#は異なる方法を提供して同様の機能を達成します。

roslynスクリプトAPI

を使用します

ROSLYNスクリプトAPIは、C#コードの動的実行をサポートしています。整数変数Iに基づいて、異なる名前の属性の例を考えてみましょう。

コードの例:

<code class="language-csharp">// 假设您有一个整数变量'i'

// 创建一个表示所需属性名称的字符串
var propertyName = "Property" + i.ToString();

// 使用CSharpScript.EvaluateAsync动态执行代码
dynamic result = await CSharpScript.EvaluateAsync($"typeof(MyClass).GetProperty(\"{propertyName}\")?.GetValue(myObj)");</code>
説明: getPropertyメソッド、名前に従って属性を検索します。

myobjは、属性を含むクラスのインスタンスです。
  • 属性の値を取得するgetValueメソッド。
  • このメソッドは、JavaScriptのeval()関数と同様に、柔軟な動的アクセス属性の関数を提供します。

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

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