假设以下假设继承层次结构:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
使用反射并进行以下调用:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
只会产生interface的属性IB
,即“ Name
”。
如果我们要对以下代码进行类似的测试,
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
该调用typeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
将返回PropertyInfo
“ ID
”和“ Name
” 的对象数组。
是否像第一个示例一样,在接口的继承层次结构中找到所有属性的简便方法?