6
我正在处理一个项目,其中来自XML的字段名称被加载并且具有该名称的字段被返回并添加到当前对象。问题是FieldInfo.GetValue似乎返回字段的当前值,而不是引用。有什么办法可以解决这个问题吗?从FieldInfo获取对变量的引用
我正在处理一个项目,其中来自XML的字段名称被加载并且具有该名称的字段被返回并添加到当前对象。问题是FieldInfo.GetValue似乎返回字段的当前值,而不是引用。有什么办法可以解决这个问题吗?从FieldInfo获取对变量的引用
不幸的是没有。 FieldInfo.GetValue
的设计是提供价值而不是参考。 FieldInfo
上没有其他合适的方法来提供参考。
这样做的一个原因是简单的不安全。演示堆栈中对象为struct
的场景。如果FieldInfo
可以提供对该字段的引用,那么它将提供对可以在任何时刻消失的一块堆栈的引用。在堆栈消失后读取或写入该引用将是不正确的和类型安全违规。
啊,好的。谢谢您的帮助! – lushr 2010-10-21 16:09:09
这很糟糕。我希望能够做到这一点。需要有某种方式。 – 2016-08-30 12:40:01