>我有以下方法:
void Foo<T1>(Func<T1, Exception> exceptionFunc)
{
// Following line error: "Cannot convert from 'object' to 'T1'
Func<object, Exception> exF = (e) => exceptionFunc(e);
Foo2(exF);
}
我似乎无法弄清楚如何将Func
的通用参数T1
投射到Foo2()
所需的object
上,关于如何成功做到这一点的任何想法?
您必须将对象转换为 T1:
void Foo<T1>(Func<T1, Exception> exceptionFunc)
{
// Following line error: "Cannot convert from 'object' to 'T1'
Func<object, Exception> exF = obj => exceptionFunc((T1)obj);
Foo2(exF);
}
注意:如果对象与 T1 不兼容,这将在运行时引发无效的强制转换异常。