我有一个简单的 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; 的属性。设置;
。
这是为什么呢?我希望同时获得 i
和它的(私有(private))支持字段,因为 i
是公开的。
我能以某种方式通过反射到达i
的MyAtrib
吗?
最佳答案
您现在可以获得字段,但是 public int i {get; set;}
是一个属性。
您需要获取属性:
// note: properties -> generally public
GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public);
关于c# - 当存在支持字段时,如何通过反射获取类字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19410084/