我有一个具有两个通用参数的通用方法。我试图编译下面的代码,但是它不起作用。是.NET的限制吗?是否可能对不同的参数具有多个约束?

public TResponse Call<TResponse, TRequest>(TRequest request)
  where TRequest : MyClass, TResponse : MyOtherClass

最佳答案

可能会这样做,您只是语法有些错误。每个约束都需要一个 where ,而不是用逗号将它们分开:

public TResponse Call<TResponse, TRequest>(TRequest request)
    where TRequest : MyClass
    where TResponse : MyOtherClass

10-06 13:28