我想创建一个可以与多个数据访问系统一起使用的基本实体.泛型类型参数表示属性的类型.
public interface IEntity<T> {
public T Id {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我希望能够将此接口用作泛型类型约束,而无需在泛型方法中指定类型参数.
public void Read<T>(Expression<Func<T, bool>> expression) where T : IEntity<**any type**>
Run Code Online (Sandbox Code Playgroud)
这可能吗?如果没有,有哪些替代方案?
你可以这样做.添加第二个泛型类型参数:
public void Read<T, U>(Expression<Func<T, bool>> expression) where T : IEntity<U>
Run Code Online (Sandbox Code Playgroud)