我有一个继承层次结构,如下所示:
public abstract class A
{
public string MyProperty {get; set;}
}
public class B : A
{
}
public class C : A
{
}
然后我有一个使用泛型的方法:
public void MyMethod<T>() where T : A
{
var str = nameof(T.MyProperty); // this one fails
}
我正在尝试获取 的名称MyProperty
,但它失败了,因为我试图通过类型而不是对象来执行此操作。有没有一种巧妙的方法可以在不传递对象的情况下获取属性名称?