获取当前类和基类的所有属性

本文关键字:属性 基类 获取 | 更新日期: 2023-09-27 18:17:28

我有两个类(让我们说"BaseItem"answers"ChildItem")与几个内部属性。在BaseClass中,我定义了一个方法,它应该用

读取所有这些属性。
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(this);

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

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

戴夫

获取当前类和基类的所有属性

对于内部属性(如问题注释中所澄清的),尽管没有指出(它们是内部的),您可以使用:

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

需要应用的标志是BindingFlags.NonPublic

你可以把它分别转换为BaseItemGetProperties()