0

我有 2 个具有多个内部属性的类(比如说“BaseItem”和“ChildItem”)。在 BaseClass 中,我定义了一个方法,它应该读取所​​有这些属性

PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(this);

或者

PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(this.GetType()); 

当我在“ChildItem”的实例中调用此方法时,我只得到“ChildItem”中定义的属性。我还能做些什么来获得“BaseItem”的属性?

问候

戴夫

4

2 回答 2

0

您可以将其投射到BaseItemGetProperties()单独执行..

于 2014-08-11T05:54:16.250 回答
0

对于内部属性(如问题评论中所述),尽管未指明(出于某种原因它们是内部属性),但您可以使用:

var internalProperties = GetType().GetProperties(
                            BindingFlags.Instance | 
                            BindingFlags.NonPublic |
                            BindingFlags.Public));

BindingFlags.NonPublic这是需要应用的标志。

于 2014-08-11T06:06:12.427 回答