Reactive Extensions (Rx) 入门(2) 安装 Reactive Extensio
原文:http://www.atmarkit.co.jp/fdotnet/introrx/introrx_01/introrx_01_02.html 作者:河合 宜文 安装方法 关于 Rx 的安装,可以通过 Reactive Extensions (Rx) 的主页的直接下载安装,当然也可以利用 NuGet 导入 dll (http://nuget.org/packages/Rx-Main
原文:http://www.atmarkit.co.jp/fdotnet/introrx/introrx_01/introrx_01_02.html
作者:河合 宜文
安装方法
关于 Rx 的安装,可以通过 Reactive Extensions (Rx) 的主页 的直接下载安装,当然也可以利用 NuGet 导入 dll (http://nuget.org/packages/Rx-Main) [译注: NuGet 是VS集成的在线 dll部署工具,非常方便]。Rx 不管是 Installer 还是 NuGet 安装的,都有 Stable(稳定版) 和 Experimental(实验版) 两种。
Stable版是API中方法名等不会再变更而Experimental版则是在Stable版中加入了一些实验性的方法等。例如:C# 5.0中新增特性await/async关键字、Expand方法等只在Experimental版中有。只在Experimental版中有的方法会以[ExperimentalAttribute]特性标识,在Visual Studio中通过metadata的表示可以区分出来。因此,在利用Experimental版的时候,这些加上[ExperimentalAttribute]特性标识的方法将来方法名,参数列表还是有可能发生变化的,需要留意。
另外,Experimental版在现在Developer Preview(开发者预览版)中的.NET Framework 4.5和WinRT(Windows 8 运行环境)中已经包含了。C#5.0中特别是针对异步编程比较大的变化策略,已经在反映在Experimental版中。
Assembly分类
Rx的Assembly按照如下功能划分。
程序集名 | NuGet Package名(*1) | 功能 |
System.Reactive | Rx-Main | 基本Core API |
System.Reactive.Windows.Forms | Rx-WinForms | WindowsForm中使用的 ControlScheduler类(*2)和扩展方法 |
System.Reactive.Windows.Threading | Rx-WPF Rx-Silverlight |
WPF/Silverlight中使用的DispatcherScheduler类(*2)和扩展方法 |
System.Reactive.Providers | Rx-Providers | IQbservable接口和其他类库(*3) |
Microsoft.Reactive.Testing | Rx-Testing | UnitTest和Mockup |
Rx的Assembly一览 | ||
Rx的Assembly文件、一般放在「C:\Program Files\Microsoft Reactive Extensions SDK」(32bit版),而64bit版则是放在「C:\Program Files (x86)\Microsoft Reactive Extensions SDK」) | ||
*1 一览中提到的Package是指Stable版,Experimental版的时候则带有「_Experimental」比如:「Rx_Experimental-Main」 | ||
*2 Scheduler 是基于Rx的时间和线程管理的类。ControlScheduler类是对于WinForm及控件进行BeginInvoke调用,DispatcherScheduler类是对Dispatcher进行BeginInvoke。 | ||
*3 「IQbservable」接口名取自「Queryable Observable」。表达式树可以生成一个 Observable 对象。IObservable 接口和 IQbservable 接口的关系就和 IEnumerable 接口和 IQueryable 接口关系相当。 |
Windows Phone 7 SDK 里集成的标准的 Rx 程序集则和上面说的有些不同:
程序集名 | 功能 |
System.Observable | IObservable |
Microsoft.Phone.Reactive | Core API和DispatcherScheduler类 |
![]() | |
Windows Phone 7 SDK的程序集一览 |
如果更加重视是否是使用标准程序集且不需要额外引用程序集,那么直接使用 Microsoft.Phone.Reactive;如果希望能在 WPF,Sliverlight 中移植,那么就选择 Data Developer Center 版本好了。
相关的库
Javascript 版本并不包含在Install 中,但可以从 Rx 主页最下方下载 ZIP 得到。库的主体是 Rx.js ,除此之外还有 jQuery 和 prototype.js。
命名空间分类
Rx 主要是以扩展方法为中心的,如果没有正确的使用 using/Import 导入命名空间则无法使用。下面例举主要的命名空间以及代表的功能和类。
名前空間 | 功能点 |
System | Subscribe订阅 IObservable 接口使用的Lambda表达式的扩展方法 |
System.Reactive | 主要接口和一些基本类 |
System.Reactive.Concurrency | 实现 IScheduler 接口的一些类 |
System.Reactive.Disposables | 实现 IDisposable 接口的一些类 |
System.Reactive.Joins | 利用 Observable.And/Observable.Then 方法进行Join操作的类 |
System.Reactive.Linq | Rx 主要的命名空间,Observable 类和IObservable接口的一些扩展方法 |
System.Reactive.Subjects | 实现 ISubject 接口(实现 Rx 语义的事件)的一些类 |
System.Reactive.Threading.Tasks | Task 相互转换的扩展方法 |
![]() | |
Rx 的命名空间和代表性的功能以及类 |
另外,Windows Phone 中,Microsoft.Phone.Reactive 程序集里的 Rx 全部在 Microsoft.Phone.Reactive 命名空间下。
Reactive Extensions (Rx) 入门(1) —— Reactive Extensions 概要
Reactive Extensions (Rx) 入门(2) —— 安装 Reactive Extensions
Reactive Extensions (Rx) 入门(3) —— Rx的事件编程①

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Kimi:一句話,十幾秒鐘,一份PPT就新鮮出爐了。 PPT這玩意兒,可太招人煩了!開個碰頭會,要有PPT;寫個週報,要做PPT;拉個投資,要展示PPT;就連控訴出軌,都得發個PPT。大學比較像是學了個PPT專業,上課看PPT,下課做PPT。或許,37年前丹尼斯・奧斯汀發明PPT時也沒想到,有一天PPT竟然如此氾濫成災。嗎嘍們做PPT的苦逼經歷,說起來都是淚。 「一份二十多頁的PPT花了三個月,改了幾十遍,看到PPT都想吐」;「最巔峰的時候,一天做了五個PPT,連呼吸都是PPT」;「臨時開個會,都要做個

Diffusion不僅可以更好地模仿,而且可以進行「創作」。擴散模型(DiffusionModel)是一種影像生成模型。與先前AI領域大名鼎鼎的GAN、VAE等演算法,擴散模型另闢蹊徑,其主要想法是先對影像增加噪聲,再逐步去噪的過程。其中如何去噪還原原影像是演算法的核心部分。最終演算法能夠從一張隨機的雜訊影像中產生影像。近年來,生成式AI的驚人成長將文字轉換為圖像生成、視訊生成等領域的許多令人興奮的應用提供了支援。這些生成工具背後的基本原理是擴散的概念,這是一種特殊的取樣機制,克服了先前的方法中被

北京時間6月20日凌晨,在西雅圖舉辦的國際電腦視覺頂會CVPR2024正式公佈了最佳論文等獎項。今年共有10篇論文獲獎,其中2篇最佳論文,2篇最佳學生論文,另外還有2篇最佳論文提名和4篇最佳學生論文提名。電腦視覺(CV)領域的頂級會議是CVPR,每年都會吸引大量研究機構和高校參會。根據統計,今年共提交了11532份論文,2719篇被接收,錄取率為23.6%。根據佐治亞理工學院對CVPR2024的數據統計分析,從研究主題來看,論文數量最多的是圖像和視頻合成與生成(Imageandvideosyn

在Linux上安裝安卓應用程式一直是許多用戶所關心的問題,尤其是對於喜歡使用安卓應用程式的Linux用戶來說,掌握如何在Linux系統上安裝安卓應用程式是非常重要的。雖然在Linux系統上直接運行安卓應用程式並不像在Android平台上那麼簡單,但是透過使用模擬器或第三方工具,我們依然可以在Linux上愉快地享受安卓應用程式的樂趣。以下將為大家介紹在Linux系統上安裝安卓應

如果您使用過Docker,則必須了解守護程式、容器及其功能。守護程序是在容器已在任何系統中使用時在背景執行的服務。 Podman是一個免費的管理工具,用於管理和建立容器,而不依賴任何守護程序,例如Docker。因此,它在管理貨櫃方面具有優勢,而不需要長期的後台服務。此外,Podman不需要使用根級別的權限。本指南詳細討論如何在Ubuntu24上安裝Podman。更新系統我們先進行系統更新,開啟Ubuntu24的Terminalshell。在安裝和升級過程中,我們都需要使用命令列。一種簡單的

我們知道LLM是在大規模電腦叢集上使用海量資料訓練得到的,本站曾介紹過不少用於輔助和改進LLM訓練流程的方法和技術。而今天,我們要分享的是一篇深入技術底層的文章,介紹如何將一堆連作業系統也沒有的「裸機」變成用來訓練LLM的電腦叢集。這篇文章來自於AI新創公司Imbue,該公司致力於透過理解機器的思維方式來實現通用智慧。當然,將一堆連作業系統也沒有的「裸機」變成用於訓練LLM的電腦叢集並不是一個輕鬆的過程,充滿了探索和試錯,但Imbue最終成功訓練了一個700億參數的LLM,並在此過程中積累

在高中學習的時候,有些學生做的筆記非常清晰準確,比同一個班級的其他人都做得更多。對某些人來說,記筆記是一種愛好,而對其他人來說,當他們很容易忘記任何重要事情的小資訊時,則是一種必需品。 Microsoft的NTFS應用程式對於那些希望保存常規講座以外的重要筆記的學生特別有用。在這篇文章中,我們將描述Ubuntu24上的Ubuntu應用程式的安裝。更新Ubuntu系統在安裝Ubuntu安裝程式之前,在Ubuntu24上我們需要確保新設定的系統已經更新。我們可以使用Ubuntu系統中最著名的「a

在Win7系統下安裝Go語言是一項相對簡單的操作,只需按照以下步驟進行操作即可成功安裝。以下將詳細介紹在Win7系統下安裝Go語言的方法。第一步:下載Go語言安裝包首先,開啟Go語言官方網站(https://golang.org/),進入下載頁面。在下載頁面中,選擇與Win7系統相容的安裝套件版本進行下載。點擊下載按鈕,等待安裝包下載完成。第二步:安裝Go語言下
