リフレクションアクセスクラス属性を使用 質問:クラスのすべての属性のリストを取得するにはどうすればよいですか? 回答:
反射は、この問題の解決策を提供します。特定の例では、次のコードを使用できます。 タイプに関連付けられた属性にアクセスするには、次のものを使用してください。
次の例カテゴリを検討してください:
新しくインスタントfooオブジェクトの属性値を取得して表示するには:<code class="language-csharp">obj.GetType().GetProperties();</code>
その他の注意事項:
<code class="language-csharp">typeof(Foo).GetProperties();</code>
<code class="language-csharp">class Foo { public int A {get;set;} public string B {get;set;} }</code>
静的属性値を取得するには、GetValueの最初のパラメーターとしてnullを渡してください。
<code class="language-csharp">Foo foo = new Foo {A = 1, B = "abc"}; foreach(var prop in foo.GetType().GetProperties()) { Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null)); }</code>
非公開の属性を含めるには、薄い粒状結合ロゴを使用してください。
これにより、すべてのパブリックおよびプライベートインスタンス属性が取得されます。以上が反射を使用してクラスのプロパティを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。