2010-10-21 97 views
6

我正在处理一个项目,其中来自XML的字段名称被加载并且具有该名称的字段被返回并添加到当前对象。问题是FieldInfo.GetValue似乎返回字段的当前值,而不是引用。有什么办法可以解决这个问题吗?从FieldInfo获取对变量的引用

回答

7

不幸的是没有。 FieldInfo.GetValue的设计是提供价值而不是参考。 FieldInfo上没有其他合适的方法来提供参考。

这样做的一个原因是简单的不安全。演示堆栈中对象为struct的场景。如果FieldInfo可以提供对该字段的引用,那么它将提供对可以在任何时刻消失的一块堆栈的引用。在堆栈消失后读取或写入该引用将是不正确的和类型安全违规。

+0

啊,好的。谢谢您的帮助! – lushr 2010-10-21 16:09:09

+0

这很糟糕。我希望能够做到这一点。需要有某种方式。 – 2016-08-30 12:40:01