【发布时间】:2013-12-24 16:12:21
【问题描述】:
当我在抽象类中有这个属性时:
public IList<Component> Components { get; private set; }
然后当我打电话时:
p.GetSetMethod(true)
p 是指向我的属性的 PropertyInfo 对象,我得到 null。
但是,如果我将属性设置器更改为受保护,我可以通过反射看到它。为什么是这样?我似乎不记得非抽象类有这个问题......
【问题讨论】:
-
我不明白这如何适用于非抽象类的私有方法。你能提供一个SSCCE吗? sscce.org
-
GetSetMethod 的 true 参数应该是搜索非公共成员。
-
奇怪,我相当肯定
GetSetMethod(true)一直为我解析私有set访问器,但我不相信我已经使用它来解析基类上的成员。也许行为不一致。另外,您确定您的PropertyInfo指的是正确的属性,而不是隐藏您要查找的子类的属性吗? -
不,没有任何覆盖/隐藏属性...
标签: c# .net reflection