日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Reactive Extensions简介一

發(fā)布時間:2025/3/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Reactive Extensions简介一 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在.Net 4.0中引入了兩個新的接口用來實現(xiàn)觀察者模式——IObservable和IObserver。IObservable是數(shù)據(jù)源,IObserver是觀察者,觀察者訂閱數(shù)據(jù)源后,當新的數(shù)據(jù)產(chǎn)生時,將其主動傳給所有的訂閱者(Iobserver)。

觀察者模式比較基礎,因此在這里并不多加介紹,沒有相關基礎的朋友可以參看MSDN的這兩個鏈接。

l?Observer(觀察器)

l?探究觀察者設計模式

這里我用一個簡單的實例介紹一下這個接口的基本用法。

??? class Program

??? {

??????? static void Main(string[] args)

??????? {

??????????? var timerServer = new TimeServer();

??????????? timerServer.Subscribe(new Watch());

?

??????????? System.Threading.Thread.Sleep(-1);

??????? }

??? }

?

??? class TimeServer : IObservable<DateTime>

??? {

??????? public TimeServer()

??????? {

??????????? new System.Threading.Timer(_ => Notify(DateTime.Now), null, 0, 1000);

??????? }

?

??????? void Notify(DateTime time)

??????? {

??????????? foreach (var observer in _observers)

??????????? {

??????????????? observer.OnNext(time);

??????????? }

??????? }

?

??????? #region IObservable<DateTime> 成員

?

??????? List<IObserver<DateTime>> _observers = new List<IObserver<DateTime>>();

?

??????? public IDisposable Subscribe(IObserver<DateTime> observer)

??????? {

??????????? //這里省略了參數(shù)有效性檢查

??????????? _observers.Add(observer);

??????????? return new AnonymousUnSubscriber() { Action = () => _observers.Remove(observer) };

??????? }

?

??????? #endregion

?

??????? #region AnonymousUnSubscriber

?

??????? class AnonymousUnSubscriber : IDisposable

??????? {

??????????? public Action Action { get; set; }

?

??? ??????? void IDisposable.Dispose()

??????????? {

??????????????? this.Action();

??????????? }

??????? }

?

??????? #endregion

??? }

?

??? class Watch : IObserver<DateTime>

??? {

??????? #region IObserver<DateTime> 成員

?

??????? public void OnCompleted() { throw new NotImplementedException(); }

??????? public void OnError(Exception error) { throw new NotImplementedException(); }

?

??????? public void OnNext(DateTime value)

??????? {

??????????? Console.WriteLine(value);

??????? }

?

??????? #endregion

??? }

?

這里定義了兩個簡單的對象:TimeServer是數(shù)據(jù)源,實現(xiàn)了IObservable接口,Watch是觀察者,實現(xiàn)了IObserver接口。當有新數(shù)據(jù)產(chǎn)生時(定時器每秒鐘通知一次),會調(diào)用Watch的OnNext接口,將當前時間在屏幕上打印出來。

像這種“推”的方式一般也被稱作反應式(Reactive),雖然其接口比較簡明,但在.Net 4.0中只有接口的聲明,并沒有其它的相關庫函數(shù)進行支持。因此要實現(xiàn)反應式編程得自己實現(xiàn)所有其它的相關代碼。不過好在微推出了一個名為Reactive Extensions for .NET (Rx)的庫,實現(xiàn)了許多強有力的功能,使得我們能快速構建強大的反應式的程序。像上面的這個例子,用Rx庫可以簡化如下:?

??? static void Main(string[] args)

??? {

??????? var timerServer = Observable.Interval(TimeSpan.FromSeconds(1)).Select(_ => DateTime.Now);

??????? timerServer.Subscribe(i => Console.WriteLine(i));

?

??????? System.Threading.Thread.Sleep(-1);

??? }

?

Rx庫非常強大,由于相關資料不多,目前我也是在學習和摸索中,后面還會寫一些文章陸續(xù)介紹這個庫。

?

轉(zhuǎn)載于:https://www.cnblogs.com/TianFang/archive/2011/05/01/2034083.html

總結

以上是生活随笔為你收集整理的Reactive Extensions简介一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲视频高清 | 黄色三级小说 | 婷婷伊人五月天 | 黄色二级毛片 | 国产不卡网 | 麻豆成人精品 | 99久草 | 亚欧洲精品视频在线观看 | 久久精品免费在线 | 日本三级中国三级99人妇网站 | 在线色导航 | 黄黄的视频在线观看 | 添女人荫蒂视频 | 538任你躁在线精品免费 | 浪浪视频在线观看 | 国产日韩免费视频 | 青青草视频免费播放 | 91超碰人人 | 波多野一区 | 古装做爰无遮挡三级视频 | 日韩精品在线观看一区二区三区 | av一区二区三区免费观看 | 亚洲精品乱码久久久久久麻豆不卡 | 欧美在线观看网站 | 免费看的黄网站 | 黄色不卡视频 | 久久精品视屏 | 波多野结衣成人在线 | 亚洲视频123 | 丁香花完整视频在线观看 | 日韩欧美成人一区二区三区 | 山村大伦淫第1部分阅读小说 | 色婷婷综合久久久中文字幕 | 亚洲成人精品在线观看 | 久久久永久久久人妻精品麻豆 | 久久网伊人 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚洲深夜视频 | 国产精品性爱在线 | 性自由色xxxx免费视频 | 美女黄色片网站 | 最新色网站 | 国产精品免费av一区二区 | 波多野结衣在线视频播放 | 亚洲AV无码乱码国产精品色欲 | 91精品国产乱码久久久久久久久 | 亚洲第一毛片 | 一级片免费看视频 | 青青操在线观看视频 | 精品一区二区人妻 | 成人宗合网 | 人人爽人人爽人人爽人人爽 | 性囗交免费视频观看 | 人妻丰满熟妇av无码区免 | 熟妇人妻av无码一区二区三区 | 亚洲av无码精品色午夜 | 国产精品国产馆在线真实露脸 | caoporn人人| 欧美精品一区二区免费看 | 少妇精品一区二区三区 | 91成年人视频 | 动漫精品一区 | 欧美色老头 | 在线不卡日韩 | 欧美一区二区视频免费观看 | www.av在线播放 | 免费人成视频在线播放 | 天天操天天摸天天干 | 日本青草视频 | 中文字幕精品久久久久人妻红杏1 | 国产午夜无码精品免费看奶水 | 久久尹人| 成人一级影视 | 少妇又白又嫩又色又粗 | 一区二区三区四区在线视频 | 青青成人 | 蜜乳av中文字幕 | 亚洲国产精品久久久久爰色欲 | 亚洲国产日韩a在线播放性色 | 日韩视频国产 | 久久爱成人 | 久久一级免费视频 | 中文字幕视频免费 | 欧美一级免费在线观看 | av一级网站| 日本精品国产 | 国产裸体永久免费无遮挡 | 久久国内| 视频一区 中文字幕 | 精品在线视频一区二区 | 国内久久精品视频 | 欧美一区亚洲二区 | 人与嘼交av免费 | 一道本视频在线 | 日批网站在线观看 | 在线看的av | 婷婷久久伊人 | 777奇米四色| 久久99久久精品 |