179
我有一個通用方法,它有兩個通用參數。我試圖編譯下面的代碼,但它不起作用。它是一個.NET限制嗎?是否有可能對不同的參數有多個約束?具有多種約束的通用方法
public TResponse Call<TResponse, TRequest>(TRequest request)
where TRequest : MyClass, TResponse : MyOtherClass
我有一個通用方法,它有兩個通用參數。我試圖編譯下面的代碼,但它不起作用。它是一個.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