System.IObservable 接口
方法描述
定义基于推送的通知的提供程序。
语法定义(C# System.IObservable 接口 的用法)
public interface IObservable
成员/方法
方法名称 | 方法描述 |
---|---|
Subscribe | 通知提供程序:某观察程序将要接收通知。 |
提示和注释
IObserver
该提供程序必须实现一个方法 Subscribe,指出某个观察器要接收基于推送的通知。 该方法的调用方传递观察器的实例。 方法返回 IDisposable 实现,其可让观察程序在提供程序已停止发送它们的任意时间之前取消通知。
在任何给定时间,给定的提供程序可能具有零个、一个或多个观察器。 该提供程序负责存储对观察器的引用,并且在发送通知之前确保它们有效。 IObservable
该提供程序通过调用 IObserver
当前数据。 提供程序可以调用 IObserver
一个异常情况。 提供程序可以调用 IObserver
没有进一步的数据。 提供程序可以调用 IObserver
System.IObservable 接口例子
下面的代码然后实例化提供程序和观察器。
using System; class Program { static void Main(string[] args) { // Define a provider and two observers. LocationTracker provider = new LocationTracker(); LocationReporter reporter1 = new LocationReporter("FixedGPS"); reporter1.Subscribe(provider); LocationReporter reporter2 = new LocationReporter("MobileGPS"); reporter2.Subscribe(provider); provider.TrackLocation(new Location(47.6456, -122.1312)); reporter1.Unsubscribe(); provider.TrackLocation(new Location(47.6677, -122.1199)); provider.TrackLocation(null); provider.EndTransmission(); } } // The example displays output similar to the following: // FixedGPS: The current location is 47.6456, -122.1312 // MobileGPS: The current location is 47.6456, -122.1312 // MobileGPS: The current location is 47.6677, -122.1199 // MobileGPS: The location cannot be determined. // The Location Tracker has completed transmitting data to MobileGPS.
继承层次结构
线程安全
版本信息
.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。