从泛型类型参数获取类的静态属性
本文关键字:静态 属性 泛型类型参数 获取 | 更新日期: 2023-09-27 18:28:16
假设我有以下内容:
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)