有没有什么好的,优雅的方式来获取不使用接口的抽象超类中使用的泛型类型的属性? 下面是一个例子:在不使用接口的情况下从抽象超类中使用泛型类型获取属性?
public abstract class CoolBase<T>
where T : class
{
private IEnumerable<T> somEnumerable;
public void GetPersonProperties()
{
var name = somEnumerable.First().Name; //this doesn't work
}
}
public class CoolA : CoolBase<Person>
{
}
public class Person
{
public string Name { get; set; }
public string Region { get; set; }
}
}
如果你想在'CoolBase'中获得'Person'的详细信息,那么'CoolBase'不能是通用的,它需要知道'Person'。如果你想'CoolBase'是通用的,那么你不需要特定于'Person'的代码。 –