.net 从泛型类型参数获取类的静态属性

rqcrx0a6  于 2023-11-20  发布在  .NET
关注(0)|答案(1)|浏览(93)

假设我有以下内容:

public class GetById<TEntity> : where TEntity : Entity
{
    public Guid EntityId { get; set; }

    public TEntity Execute()
    {
        // Get the entity here
    }
}

字符串
我想做的是检索通过TEEntity传入的类的特定静态属性的值。该属性不存在于Entity基类中,但它作为将作为TEEntity参数传入的任何不同派生类的属性而存在。我在SO上发现了类似的问题,但它们都假设属性也在基类中声明。
有没有什么方法可以通过反射或类似的方式来实现这一点?这是一个.NET 4.0项目。

bvn4nwqk

bvn4nwqk1#

类型系统不允许您这样做。
你可以使用reflection:

typeof(TEntity).GetProperty("MyProp", BindingFlags.Public | BindingFlags.Static)

字符串

相关问题