有了这个课程
class Foo
{
// Want to find _bar with reflection
[SomeAttribute]
private string _bar;
public string BigBar
{
get { return this._bar; }
}
}
我想找到私有项目_bar,我将标记一个属性。这可能吗?
我已经对属性进行了此操作,我在其中查找了属性,但从未查找私有成员字段。
我需要设置哪些绑定标志来获得私有字段?
使用Reflection获取私有变量的值:
var _barVariable = typeof(Foo).GetField("_bar", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(objectForFooClass);
使用Reflection为私有变量设置值:
typeof(Foo).GetField("_bar", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(objectForFoocClass, "newValue");
其中objectForFooClass是类类型Foo的非空实例。