我有一个类似下面的课程:
Class A : B<C>
{
public A(C entity):base(entity)
{}
}
abstract class B<T>
{
public B(T entity)
{
Entity = entity;
}
public T Entity { get; private set; }
}
Class C: D
{
public string prop2{get;set;}
}
Class D
{
public string prop1{get;set;}
}
Main()
{
A obj = new A(new C());
obj.GetType().GetProperty("prop1", BindingsFlag.Instance|BindingsFlag.FlatteredHierarchy)// is null
}
我有 A 类的对象。我想在运行时从该对象获取属性值。
我正在尝试
obj.GetType().GetProprty("propertyName",
BindingsFlag.FlattenHierarchy).GetValue(obj, null);
但是 GetProprty() 正在返回 null,因为该属性是在 D 或 C 类中声明的。
有人可以建议我如何实现这一目标吗?
提前致谢。