我有一个定义为接收两个参数的方法。一个是泛型类型,另一个是具有泛型返回类型的函数:
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);
但我收到一条错误消息:
“期望使用 'TRequest BuildResponse(IDataRecord)' 的方法
为什么它期望 TRequest 作为返回而不是 TResponse?