【问题标题】:IAsyncOperation in delegate, is it possible?IAsyncOperation 在委托中,有可能吗?
【发布时间】:2012-11-07 04:59:28
【问题描述】:
public delegate string IAsyncOperation<IEnumerable<string>> ThisReceiveStringHandler();
...
public event ThisReceiveStringHandler ThisReceiveString;

我正在尝试执行异步事件,但上面的代码不起作用。 谁能告诉我是否有可能创建异步事件?或者是否有更优雅的方法?

谢谢。

【问题讨论】:

  • 不起作用是什么意思?代码做什么 做什么?你能解释一下你到底想做什么吗? 为什么你要这样做?此外,尽管有可能,但有一个返回某些东西的事件是非常不寻常的。

标签: c# windows-runtime c#-5.0


【解决方案1】:

您是否正在编写自己的异步操作?除非您正在开发 Windows RT 组件,否则请使用 Task。正如 svick 所说,事件通常不会返回,它们只是被触发。有时你不想知道它们是否完成。

你想做什么?每当收到字符串时触发事件?您应该为此使用 Rx(除非最多接收一次字符串,然后使用 Task)。如果您提供代码的其余部分 - 触发事件的部分和接收事件的部分,我可以帮助您重写它。

如何接收字符串?通过 HttpClient 还是?您可以使用 TaskCompletionSource 将一种异步方法转换为另一种。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-29
    • 2018-01-13
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    相关资源
    最近更新 更多