C# 具有public Notify的可观察子类<;T>;(T值)法
C# 具有public Notify的可观察子类<;T>;(T值)法,c#,system.reactive,C#,System.reactive,Observable类是否有一个子类公开了对Notify(T值)方法(或访问Notifier,extension方法)的访问,以便我们可以随时调用Observable.Notify(T)以通知所有订阅(在同一线程上调用OnNext) 我对来自EventPattern的不感兴趣ISubject接口继承了IObservable和IObserver var subject=new subject(); subject.Subscribe(text=>Console.WriteLine(text));
Observable
类是否有一个子类公开了对Notify(T值)
方法(或访问Notifier
,extension方法)的访问,以便我们可以随时调用Observable.Notify(T)
以通知所有订阅(在同一线程上调用OnNext
)
我对来自EventPattern的不感兴趣ISubject
接口继承了IObservable
和IObserver
var subject=new subject();
subject.Subscribe(text=>Console.WriteLine(text));
subject.OnNext(“你好”);
subject.OnNext(“世界!”);
IObserver.OnNext
本质上是您的Notify
方法
更多阅读:
ISubject
接口继承了IObservable
和IObserver
var subject=new subject();
subject.Subscribe(text=>Console.WriteLine(text));
subject.OnNext(“你好”);
subject.OnNext(“世界!”);
IObserver.OnNext
本质上是您的Notify
方法
更多阅读:
您当然可以使用Subject
来提供一个对象,该对象是一个观察者(即,您可以调用.OnNext(string)
),并且是一个可以订阅的观察者
唯一的缺点是,任何可以访问主题的代码也可以调用.OnCompleted()
或.OnError(…)
,并破坏订阅者的代码
另一种方法是:
Action<string> notify = null;
var observable = Observable.FromEvent<string>(h => notify += h, h => notify -= h);
var subscription = observable.Subscribe(x => Console.WriteLine(x));
notify("Hello");
Action notify=null;
var observable=observable.FromEvent(h=>notify+=h,h=>notify-=h);
var subscription=observable.subscripte(x=>Console.WriteLine(x));
通知(“你好”);
现在您有了一个简单的操作
委托,您可以调用该委托来推送值,只要您保持订阅活动,客户端就不能通过对.OnCompleted()
或的恶意调用来终止您的程序。OnError(…)
您当然可以使用主题
来提供一个作为观察者的对象(即,您可以调用.OnNext(string)
),并且是可以订阅的可观察对象
唯一的缺点是,任何可以访问主题的代码也可以调用.OnCompleted()
或.OnError(…)
,并破坏订阅者的代码
另一种方法是:
Action<string> notify = null;
var observable = Observable.FromEvent<string>(h => notify += h, h => notify -= h);
var subscription = observable.Subscribe(x => Console.WriteLine(x));
notify("Hello");
Action notify=null;
var observable=observable.FromEvent(h=>notify+=h,h=>notify-=h);
var subscription=observable.subscripte(x=>Console.WriteLine(x));
通知(“你好”);
现在,您有了一个简单的操作
委托,您可以调用该委托来推送值,只要您保持订阅活动,客户端就不能通过对.OnCompleted()
或的恶意调用来终止您的程序。OneError(…)
您在寻找主题
(及其朋友)吗?您是否正在寻找主题
(及其朋友)?