プロパティ名に基づいてプロパティ値を動的に取得する
オブジェクトを操作してそのプロパティを操作する場合、共通の要件は、取得または名前に基づいて特定のプロパティの値を動的に設定します。これにより、さまざまなシナリオでの柔軟性とコードの再利用が可能になります。
動的プロパティ値の取得
C# では、リフレクションを使用してこの機能を実現できます。名前に基づいてプロパティの値を取得できるメソッドの実装例を次に示します。
public string GetPropertyValue(object obj, string propertyName) { return obj.GetType().GetProperty(propertyName).GetValue(obj, null); }
このメソッドは、オブジェクトとプロパティの名前を引数として受け取ります。リフレクションを使用して、指定されたプロパティ名に関連付けられた PropertyInfo オブジェクトを取得します。次に、PropertyInfo オブジェクトの GetValue メソッドを使用して、指定されたオブジェクトのプロパティの実際の値を取得します。
使用法:
このメソッドを使用するには、次のようにします。値を取得するオブジェクトとプロパティ名を指定します。例:
var car = new Car { Make = "Ford" }; string make = GetPropertyValue(car, "Make");
この例では、GetPropertyValue メソッドを使用して、車オブジェクトの Make プロパティの値を取得します。結果は、値 "Ford" を保持する make 変数に割り当てられます。
このアプローチは、プロパティ値にアクセスする多用途かつ動的な方法を提供し、シリアル化、データ バインディング、またはカスタム プロパティのセッターとゲッター。
以上がリフレクションを使用して C# でプロパティ値に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。