2009-02-26 20 views
179

私は2つの一般的なパラメータを持つ汎用メソッドを持っています。私は以下のコードをコンパイルしようとしましたが動作しません。それは.NETの制限ですか?異なるパラメータに対して複数の制約を持つことは可能ですか?複数の制約を持つ汎用メソッド

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

答えて

280

これは可能ですが、構文が少し間違っています。コンマで区切るのではなく、制約ごとにwhereが必要です。

public TResponse Call<TResponse, TRequest>(TRequest request) 
    where TRequest : MyClass 
    where TResponse : MyOtherClass 
関連する問題