相关疑难解决方法(0)

GetProperties()返回接口继承层次结构的所有属性

假设以下假设的继承层次结构:

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" 的对象数组.

有没有一种简单的方法来查找接口的继承层次结构中的所有属性,如第一个示例中所示?

.net c# reflection

88
推荐指数
3
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

reflection ×1