Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 泛型方法中的Where子句_C#_Generics - Fatal编程技术网

C# 泛型方法中的Where子句

C# 泛型方法中的Where子句,c#,generics,C#,Generics,我有一个泛型方法,它接受两个泛型参数:BType和itType。有没有办法在方法签名中定义BType必须是IType的实现 Edit1:这里是方法签名: public static Expression<Func<BType, bool>> CastFunc<BType,IType>(Expression<Func<IType, bool>> customWhereClause) public静态表达式CastFunc(表达式cust

我有一个泛型方法,它接受两个泛型参数:BType和itType。有没有办法在方法签名中定义BType必须是IType的实现

Edit1:这里是方法签名:

public static Expression<Func<BType, bool>> CastFunc<BType,IType>(Expression<Func<IType, bool>> customWhereClause)
public静态表达式CastFunc(表达式customwhere子句)
公共void Foo(b类型a、b),其中b类型:i类型
公共静态表达式CastFunc(表达式customwhere子句),其中BType:IType

文档“类型参数的约束”:

我们需要更多详细信息来帮助。是什么阻止您将方法签名与问题一起发布?请注意,这些都是非常规的类型参数名称……您可以只使用泛型类型约束吗?@Jonesy抱歉,我忘记了……因为文档,我将您标记为答案。
public void Foo<BType, IType>(BType a, IType b) where BType : IType
public static Expression<Func<BType, bool>> CastFunc<BType,IType>(Expression<Func<IType, bool>> customWhereClause) where BType : IType