有没有办法得到a的结果,Task<T>当它被转发为非泛型Task?我知道这可以用Reflection做,但有没有办法在没有它的情况下做到这一点?也许是通过使用Expression?这是我想要做的一个例子:
RunResult RunTask(Task task)
{
task.Wait();
object result = ???;
if (result is RunResult)
return (RunResult)result;
return RunResult.Success;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过具有不同的重载来实现这一点,但我不喜欢行为根据选择的重载而改变.
如果任务没有结果,那么在这种情况下null就可以了.