1. ホーム
  2. c#

[解決済み】複数の制約条件を持つ一般的な方法

2022-03-30 22:46:03

質問

2つの汎用パラメータを持つ汎用メソッドを持っています。以下のコードをコンパイルしようとしましたが、うまくいきません。これは.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