首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将NetworkInformation.NetworkStatusChanged添加到可观察的FromEventPattern中

如何将NetworkInformation.NetworkStatusChanged添加到可观察的FromEventPattern中
EN

Stack Overflow用户
提问于 2015-08-23 18:44:11
回答 1查看 517关注 0票数 0

我最近开始学习Rx,并尝试玩事件到Rx转换。我尝试使用NetworkInformation.NetworkStatusChanged事件在Window Phone 8中创建可观察到的网络。

但是,当我使用NetworkInformation.NetworkStatusChanged添加Observable.FromEventPattern时,如下所示:

代码语言:javascript
复制
var networkInformationStatus = Observable.FromEventPattern(typeof(NetworkInformation), "NetworkStatusChanged");

networkInformationStatus.Subscribe(x => 
            {
                txtClickdata.Text = string.Format("Is internet connected: {0}", NetworkInterface.GetIsNetworkAvailable());
                txtClickdata2.Text = string.Format("Network type: {0}", NetworkInterface.NetworkInterfaceType);
            });

这给了我以下错误:

我做错了什么?如何将此事件添加到可观察的范围内?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-23 20:48:32

如果您阅读了正在使用的方法的文档,说明它仅用于

符合具有.NET参数的标准System.EventArgs事件模式的事件

NetworkInformation.NetworkStatusChanged是一种非标准事件类型,因此您需要在转换重载时使用FromEvent

代码语言:javascript
复制
        Observable.FromEvent<NetworkStatusChangedEventHandler, object>(
            emit => new NetworkStatusChangedEventHandler(
                                 (target) => emit(target)),
            h => NetworkInformation.NetworkStatusChanged += h, 
            h => NetworkInformation.NetworkStatusChanged -= h);

这将允许Rx正确地转换传入的事件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32170178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档