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(…)

您在寻找
主题
(及其朋友)吗?您是否正在寻找
主题
(及其朋友)?