ホームページ >バックエンド開発 >C++ >リフレクションを使用して .NET でプロパティ値を動的に取得するにはどうすればよいですか?

リフレクションを使用して .NET でプロパティ値を動的に取得するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-06 16:51:42939ブラウズ

How Can I Dynamically Retrieve Property Values in .NET Using Reflection?

プロパティ名を使用した動的プロパティ値の取得

プログラムによるプロパティ値へのアクセスは、動的なオブジェクト操作やデータのシリアル化など、さまざまなシナリオで役立ちます。 。 .NET では、リフレクションを使用してこれを実現できます。

名前に基づいてプロパティの値を取得するには、Type クラスの GetProperty メソッドを利用できます。これはプロパティ名をパラメータとして受け取り、PropertyInfo オブジェクトを返します。このオブジェクトは指定されたプロパティを表し、その動作とデータを操作できるようにします。

プロパティ値を取得するには、PropertyInfo オブジェクトの GetValue メソッドを呼び出します。このメソッドは、値を取得するオブジェクトと、オプションのインデックス値の配列 (インデックスのないプロパティの場合は通常 null) を受け取ります。

次の例は、プロパティ値を取得するメソッドの作成方法を示しています。 name:

public string GetPropertyValue(object obj, string propertyName)
{
    var property = obj.GetType().GetProperty(propertyName);
    return (string)property.GetValue(obj, null);
}

指定されたサンプル クラスでは、このメソッドを次のように呼び出すことができます。

var car = new Car { Make="Ford" };
var make = GetPropertyValue(car, "Make");

これにより、 Make プロパティ (Ford) の値を make 変数に渡します。プロパティ値はオブジェクトとして返されるため、適切な型にキャストする必要がある場合があることに注意してください。

以上がリフレクションを使用して .NET でプロパティ値を動的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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