.NET 4 動的オブジェクトのプロパティ値へのアクセス
標準のリフレクション メソッドは、.NET 4 で動的に型指定されたオブジェクトからプロパティ値を抽出するのには適していません。この記事では、より効果的な解決策を紹介します。
方法論
ExpandoObject
ベースの動的オブジェクトの場合、ダイレクト キャストは固有の IDictionary<string, object>
インターフェイスを利用します。
<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>
ただし、このアプローチは ExpandoObject
インスタンスに限定されます。 より汎用的なソリューションには、IDynamicMetaObjectProvider
インターフェイスを介してダイナミック言語ランタイム (DLR) を利用することが含まれます。 これにより、基礎となる動的オブジェクトの構造に関係なく、プロパティにアクセスするメカニズムが提供されます。
以上が.NET 4 で動的オブジェクトからプロパティ値を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。