如何以编程方式获取对FieldInfo对象是字段的对象的引用?.NET FieldInfo - 获取其*所在的对象*字段
例如,我想是这样的:
myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field
如何以编程方式获取对FieldInfo对象是字段的对象的引用?.NET FieldInfo - 获取其*所在的对象*字段
例如,我想是这样的:
myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field
可惜你不能因为关系工作方式恰好相反。 FieldInfo对象表示与任何实例无关的元数据。每个对象字段的实例都有一个FieldInfo。
对于所有元数据对象(例如Type,FieldInfo,MethodInfo等等)而言,通常都是如此......可以使用元数据对象来操作对象的实例。例如FieldInfo可用于通过GetValue方法获取实例值。
FieldInfo fi = GetFieldInfo();
object o = GetTheObject();
object value = fi.GetValue(o);
但是元数据对象永远不会与类型的实例关联。
试试这个:
myFieldInfo.DeclaringType
小烦恼:C#是一种编程语言。它没有FieldInfo。 .NET的确如此。你的主题说“C#FieldInfo”。 – 2009-07-13 15:54:02
这个问题的文本可以做澄清,它看起来好像你正在寻找一个实例对象,但你真正想要的是一个类型。 – AnthonyWJones 2009-07-13 15:56:58
@John:我建议你在这里回顾一下其他成千上万个C#的问题。考虑你是否也想评论所有这些。因为它永远不会消失,所以与这种模糊感相和可能会更容易。 – AnthonyWJones 2009-07-13 16:00:00