クラスのすべてのプロパティのリストを取得するにはどうすればよいですか?
ベストアンサー1
反省;例えば:
obj.GetType().GetProperties();
タイプの場合:
typeof(Foo).GetProperties();
例えば:
class Foo {
public int A {get;set;}
public string B {get;set;}
}
...
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));
}
次のフィードバック...
- 静的プロパティの値を取得するには、
null
最初の引数として渡します。GetValue
- 非パブリック プロパティを確認するには、(たとえば)
GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance)
(すべてのパブリック/プライベート インスタンス プロパティを返します) を使用します。