我想获得私人会员的价值,所以我写了以下内容:
var f = e.
GetType().
GetFields(System.Reflection.BindingFlags.NonPublic |
System.Reflection.BindingFlags.Instance |
System.Reflection.BindingFlags.DeclaredOnly)[0];
object o = f.FieldType.GetProperty("RowIndex").GetValue(f.FieldType, null);
但是方法“GetValue”需要第一个参数中的原始对象,而我没有这个对象,因为我进入运行时。 任何人都可以帮助我吗?!
答案 0 :(得分:11)
我认为在你的例子中原始对象是e
不是吗?
善,
丹
答案 1 :(得分:0)
如果你真的把这个反射的调用分成它的组件,你可能会有更好的运气。在我看来,原始对象实际上将是由
生成的PropertyInfof.FieldType.GetProperty("RowIndex")
我会说如果你实际上声明一个PropertyInfo对象暂时保存它,你就可以将它传递给GetValue调用,然后在你完成时将其销毁。