通过反射调用异步任务

时间:2013-12-10 11:16:34

标签: c# task

我需要做以下事情:

  1. 我有以下几种形式的异步方法:

    async Task<string> MethodName(args) {}

  2. 我需要通过反射来调用这些方法 - 我这样做:

    Task<string> task = Invoke(instanceContainingThisMethod, args);

    然后,如果任务返回异常,我需要调用OnSuccess或OnFailure函数。我怎样才能做到这一点?我应该使用ContinueWith吗?

  3. 感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

像处理任何其他任务一样对待此任务。之间没有区别:

Task t = MethodName(...);

Task t = Invoke(instanceContainingThisMethod, args);
从呼叫者的角度来看。只是一个不同的&#34;调用约定&#34;。

例如,你可以awaitawait适用于任务(更准确地说,是等待),而不适用于方法调用。