如何以编程方式获取对FieldInfo对象为字段的对象的引用?
例如,我想要这样的事情:
myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field
答案 0 :(得分:12)
不幸的是你不能,因为这种关系的作用相反。 FieldInfo对象表示独立于任何实例的元数据。对象字段的每个实例都有1个FieldInfo。
一般来说,所有Metadata对象(如Type,FieldInfo,MethodInfo等)都是如此......可以使用元数据对象来操作对象的实例。例如,FieldInfo可用于通过GetValue方法获取实例值。
FieldInfo fi = GetFieldInfo();
object o = GetTheObject();
object value = fi.GetValue(o);
但元数据对象永远不会与该类型的实例相关联。
答案 1 :(得分:3)
试试这个:
myFieldInfo.DeclaringType