【问题标题】:Invoking Async Task via Reflection通过反射调用异步任务
【发布时间】:2013-12-10 11:16:34
【问题描述】:

我需要做以下事情:

  1. 我有几个异步方法,格式如下:

    async Task<string> MethodName(args) {}

  2. 我需要通过反射调用这些方法中的任何一个 - 我这样做:

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

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

感谢您的帮助!

【问题讨论】:

  • 请改进标题。它完全没有说明这个问题。

标签: c# task


【解决方案1】:

将此任务视为任何其他任务。两者没有区别:

Task t = MethodName(...);

Task t = Invoke(instanceContainingThisMethod, args);

从调用者的角度来看。只是一个不同的“调用约定”。

例如,您可以await 它。 await 适用于任务(更准确地说,是等待对象),而不是方法调用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多