ホームページ > バックエンド開発 > C++ > C# でプロパティ値を名前で動的に取得するにはどうすればよいですか?

C# でプロパティ値を名前で動的に取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-06 17:15:49
オリジナル
969 人が閲覧しました

How Can I Dynamically Retrieve Property Values in C# by Name?

名前によるプロパティ値の取得

オブジェクトのプロパティ値にはそれぞれの名前でアクセスでき、プログラムによるデータの操作と取得が可能になります。特定のシナリオでは、変数プロパティ名に基づいてプロパティ値を動的に取得することが望ましい場合があります。この質問では、そのような機能を実現するメソッドを検討します。

メソッド:

次の C# メソッドは、リフレクションを利用して、指定されたプロパティに基づいてオブジェクトのプロパティ値を取得します。名前:

public string GetPropertyValue(object obj, string propertyName)
{
    return obj.GetType().GetProperty(propertyName).GetValue(obj, null);
}
ログイン後にコピー

使用法:

「car」オブジェクトから「Make」プロパティの値を取得するには:

string make = GetPropertyValue(car, "Make");
ログイン後にコピー

実装:

メソッドは次のように動作します。

  1. プロパティ情報の決定: オブジェクトの型に対して GetProperty メソッドを使用して、プロパティのメタデータが取得されます。
  2. プロパティ値の取得: GetValue メソッドがプロパティ情報に対して呼び出され、実際の情報を抽出します。 value.
  3. デフォルト パラメータの指定: GetValue の null パラメータは、パラメータを渡さずに、オブジェクト上でプロパティに直接アクセスすることを示します。

追加ポイント:

  • この方法はパブリックとプライベートの両方で機能します
  • リフレクションはパフォーマンスに影響を与える可能性があるため、効率を最適化するために慎重に使用してください。
  • より複雑なシナリオの場合は、プロパティの型、継承などを処理するカスタム実装を作成できます。 .

以上がC# でプロパティ値を名前で動的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート