获取实现类型的具体属性

时间:2014-11-19 12:14:07

标签: c# reflection

鉴于以下课程

public Foo 
{
  public Foo() {
    this.Bar = new Bar();
  }

  public IBar Bar{ get; set;}
}

public Bar : IBar
{
 // implemented properties

}

如何使用反射在 Foo 上获取属性 Bar 的具体实现?

instance.GetType().GetProperty("Bar").PropertyType

仅产生界面。

1 个答案:

答案 0 :(得分:4)

如果你想获得实现IBar的类型,你应该得到它的值并采取类型:

var type = instance.GetType().GetProperty("Bar").GetValue(instance,null).GetType()