2つのパラメーターを受け取るように定義されたメソッドがあります。1つはジェネリック型で、もう1つはジェネリックリターン型の関数です。
public class MyHelperClass<TRequest, TResponse>
{
public TResponse Execute(TRequest request, Func<IDataRecord, TResponse> builder){ ... }
}
次に、デリゲートとして渡したいメソッドを持つオブジェクトがあります
public class MyObject
{
public TResponse BuildMe(IDataRecord rdr){ ... }
}
//call like this
MyHelperClass.Execute(input, myObjectInstance.BuildMe);
しかし、次のようなエラーが発生します。
「'TRequestBuildResponse(IDataRecord)'のメソッドが必要です
TResponseではなくTRequestをリターンとして期待しているのはなぜですか?