C# 如何检查方法参数是否实现了多个接口
有没有办法使用约束来检查方法参数是否实现了多个接口 以下面这个简单的示例为例,检查TreResponse是否实现了IBaseSearchResponse:C# 如何检查方法参数是否实现了多个接口,c#,interface,constraints,C#,Interface,Constraints,有没有办法使用约束来检查方法参数是否实现了多个接口 以下面这个简单的示例为例,检查TreResponse是否实现了IBaseSearchResponse: public static TResponse Search<TResponse, TRequest>(TRequest args) where TResponse : IBaseSearchResponse {} 但我也想知道它是否实现了IBaseSearchProps。 我尝试通过以下方式添加约束: public s
public static TResponse Search<TResponse, TRequest>(TRequest args)
where TResponse : IBaseSearchResponse {}
但我也想知道它是否实现了IBaseSearchProps。
我尝试通过以下方式添加约束:
public static TResponse Search<TResponse, TRequest>(TRequest args)
where TResponse : IBaseSearchArgs where TResponse : IBaseSearchProps {}
但是,这报告了一个已经用于类型响应的约束子句
以及:
这只是非法的语法
如果我的问题准备不充分,或者在其他地方得到了回答,或者如果答案是在c规范中定义的,我提前表示歉意。我至少在这里查看了一下它它是一个逗号分隔的列表:
public void F<T>(T t)
where T : IEnumerable, IFooBar
{
}
您需要用逗号分隔它们: e、 g
public void F<T>(T t)
where T : IEnumerable, IFooBar
{
}
public static TResponse Search<TResponse, TRequest>(TRequest args)
where TResponse : IBaseSearchArgs , IBaseSearchProps {...}