找到一个有反射的私人领域?鉴于这门课class Foo{
// Want to find _bar with reflection
[SomeAttribute]
private string _bar;
public string BigBar
{
get { return this._bar; }
}}我希望找到使用属性标记的私有Item_bar。这有可能吗?我在属性中查找了属性,但从未找到私有成员字段。我需要设置哪些绑定标志才能获得私有字段?
3 回答

元芳怎么了
TA贡献1798条经验 获得超7个赞
BindingFlags.NonPublic
BindingFlags.Instance
FieldInfo[] fields = myType.GetFields( BindingFlags.NonPublic | BindingFlags.Instance);

牛魔王的故事
TA贡献1830条经验 获得超3个赞
FieldInfo fi = typeof(Foo).GetField("_bar", BindingFlags.NonPublic | BindingFlags.Instance);if (fi.GetCustomAttributes(typeof(SomeAttribute)) != null) ...

米脂
TA贡献1836条经验 获得超3个赞
var _barVariable = typeof(Foo).GetField("_bar", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(objectForFooClass);
typeof(Foo).GetField("_bar", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(objectForFoocClass, "newValue");
- 3 回答
- 0 关注
- 406 浏览
添加回答
举报
0/150
提交
取消