我有一个简单的POCO类,例如
class C {
[MyAtrib]
public int i {get; set;}
[MyAtrib]
public int i2;
}
我打电话的时候:
GetType().GetFields(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
关于该类(实例)的我无法获得自动生成getter / setter的成员FieldInfo
(即上面的int i
)。
实际上,我正在尝试阅读这些自定义属性(MyAtrib
),而不能对那些拥有{get; set;}
的属性执行此操作。
为什么?由于i
是公开的,我希望同时获得i
和它(私人)支持字段。
我可以通过反思以某种方式到达i
的{{1}}吗?
答案 0 :(得分:6)
您现在可以获得字段,但public int i {get; set;}
是一个属性。
你需要获得属性:
// note: properties -> generally public
GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);