如何以编程方式获取对FieldInfo对象为字段的对象的引用?

例如,我想要这样的东西:

myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field

最佳答案

不幸的是,您不能这样做,因为这种关系是相反的。 FieldInfo对象表示独立于任何实例的元数据。一个对象字段的每个实例都有1个FieldInfo。

通常,对于所有元数据对象(例如Type,FieldInfo,MethodInfo等),这都是正确的。可以使用元数据对象来操作对象的实例。例如,FieldInfo可用于通过GetValue方法获取实例值。

FieldInfo fi = GetFieldInfo();
object o = GetTheObject();
object value = fi.GetValue(o);


但是,元数据对象永远不会与该类型的实例相关联。

关于c# - .NET FieldInfo —获得其*字段*的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1120293/

10-10 12:35