假设我有以下内容:
public class GetById<TEntity> : where TEntity : Entity
{
public Guid EntityId { get; set; }
public TEntity Execute()
{
// Get the entity here
}
}
我想要做的是检索通过 TEntity 传入的类的特定静态属性的值。此属性不存在于 Entity 基类中,但它作为任何不同派生类的属性存在,这些派生类将作为 TEntity 参数传入。我在 SO 上发现了类似的问题,但它们都假设该属性也在基类中声明。
有没有什么方法可以通过反射或类似的方法来做到这一点?这是一个 .NET 4.0 项目。
最佳答案
类型系统不允许您执行此操作。
您可以使用反射:
typeof(TEntity).GetProperty("MyProp", BindingFlags.Public | BindingFlags.Static)
关于c# - 从泛型类型参数获取类的静态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315885/