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