【发布时间】:2014-02-05 10:02:45
【问题描述】:
我需要分析我的对象并在列表中显示它的一些属性。 我的对象有一些属性,它们来自基类“ObjectBaseClass”,这些属性不应该显示在我的列表中。
我怎么知道一个属性是否来自基类?
即我有一个接口 IDisposableExtended,这个接口将在我的对象类中实现。但在我的列表中,我不想显示这两个属性“Disposable”和“Disposed”。如何过滤它们?
public interface IDisposableExtended : IDisposable
{
bool Disposable { get; }
bool Disposed { get; }
}
非常感谢!
p.s 属性可以来自一个基类(级别 1),基类(级别 1)也可以有一些属性来自他自己的基类(级别 2)。是这样吗,当我使用包含 BindingFlags.DeclaredOnly 的 GetProperties(flags) 时,所有来自基类(级别 1 和级别 2)的属性都会被过滤?我可以只过滤基类 1 级或 2 级吗? 这意味着,我想先获取所有属性,然后手动根据它们的基类进行过滤。然后我可以控制它们来显示我需要的属性。
【问题讨论】:
标签: c# properties base-class owner