我毫不怀疑这是尽可能容易做到的,但是我有一个函数创建者库,它为我创建了这个表单的lambda函数:
Func<T1, object>我希望更具体地指定out参数--基本上,我希望能够创建类似于:
private Func<T1, T2> GetFunc<T1, T2>(string expression)
{
Func<T1, object> objFunc = CreateFunction(expression));
return objFunc as Func<T1, T2>;
}但是,当我尝试这样做时,我会得到一个null (作为一个旁白,如果我作为一个Func<T1, object>返回objFunc,它不是null,所以我知道这不是我的问题所在)。
我该如何正确地做这件事?
发布于 2015-08-18 16:56:42
尝试:
private Func<T1, T2> GetFunc<T1, T2>(string expression)
{
Func<T1, object> objFunc = CreateFunction(expression));
return arg=>(T2)objFunc(arg);
}发布于 2015-08-18 16:56:29
简单地将现有的函数调用封装到对返回值执行强制转换的另一个函数调用中会有效吗?
return t1 => (T2)objFunc(t1);https://stackoverflow.com/questions/32078313
复制相似问题