有没有办法得到结果Task<T>
当它被降级为非通用时Task
?
我知道这可以通过反射来实现,但是有没有办法不用反射来实现呢?也许通过使用Expression
?
这是我想做的一个例子:
RunResult RunTask(Task task)
{
task.Wait();
object result = ???;
if (result is RunResult)
return (RunResult)result;
return RunResult.Success;
}
我知道我可以通过使用不同的重载来实现此目的,但我不喜欢行为根据选择的重载而变化。
如果任务没有结果,那么在这种情况下 null 就可以了。
这似乎是一个Task<RunResult>
, 正确的?然后将其转换为该类型并提取结果。
如果我的这个猜测是错误的,你可以使用dynamic
快速获取值Result
财产。
((dynamic)myTask).Result
现在这个结果值的类型dynamic
所以我不确定你想如何从中提取数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)