リフレクションを活用してC#クラスのプロパティにアクセス
にアクセスしますオブジェクト指向プログラミングには、クラスインスタンスとそのプロパティとの対話が頻繁に必要です。 反射は、これらの特性を動的に調べて操作するための強力なメカニズムを提供します。このガイドは、クラスに関連付けられているプロパティのリストを取得する方法を示しています。
プロパティ情報の取得
.NET Reflection APIは、プロパティ調査を簡素化します。 2つの主要な方法はこれを達成します:
Obj.GetType().GetProperties()
特定のクラスインスタンスを操作するときに使用。
typeof(ClassName).GetProperties()
クラスタイプで直接作業するときに使用します。
オブジェクトの配列を生成します。
PropertyInfo
サンプルクラスで説明しましょう:
次のコードスニペットは、
<code class="language-csharp">public class Foo { public int A { get; set; } public string B { get; set; } }</code>インスタンスのすべてのプロパティの値を取得および表示します:
Foo
<code class="language-csharp">Foo foo = new Foo { A = 1, B = "abc" }; foreach (var prop in foo.GetType().GetProperties()) { Console.WriteLine($"{prop.Name} = {prop.GetValue(foo)}"); }</code>重要なメモ:
静的プロパティへのアクセスには、
null
のような適切なフラグを使用してGetValue()
を使用します。 非公開のメンバーへのアクセスは、絶対に必要な場合にのみ慎重に行う必要があることを忘れないでください。
以上がリフレクションを使用してC#のクラスプロパティを探索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。