System.reactive 系统反应性:实现IObservable<;T>;
我需要创建一个自定义的System.reactive 系统反应性:实现IObservable<;T>;,system.reactive,System.reactive,我需要创建一个自定义的IObservable。我在那边读了一点,结果我不应该直接实现IObservable 我注意到有一个可观察数据库。这是一个抽象类,因此我需要实现抽象方法: public class Store<TState> : ObservableBase<TState>, IObserver<IAction> { public void OnCompleted() { throw new NotImplementedE
IObservable
。我在那边读了一点,结果我不应该直接实现IObservable
我注意到有一个可观察数据库
。这是一个抽象类,因此我需要实现抽象方法:
public class Store<TState> : ObservableBase<TState>, IObserver<IAction>
{
public void OnCompleted()
{
throw new NotImplementedException();
}
public void OnError(Exception error)
{
throw new NotImplementedException();
}
public void OnNext(IAction value)
{
throw new NotImplementedException();
}
protected override IDisposable SubscribeCore(IObserver<TState> observer)
{
>>>>>>>>>>>>>>>>>******<<<<<<<<<<<<<<<<<<<<<<<
throw new NotImplementedException();
}
}
公共类存储:Observebase,IObserver
{
未完成的公共无效()
{
抛出新的NotImplementedException();
}
公共无效OnError(异常错误)
{
抛出新的NotImplementedException();
}
public void OnNext(IAction值)
{
抛出新的NotImplementedException();
}
受保护的覆盖IDisposable SubscribeCore(IObserver观察员)
{
>>>>>>>>>>>>>>>>>****** 我不知道您的问题,但是如果您可以替换实现IObservable
来公开返回IObservable
的属性/方法,您的境况会好得多。如果您能够做到这一点,您可以很容易地从一些数据库返回基于Rx的可观测值
如果您不能这样做,我建议您包装一个主题
:
公共类MyInObservable:IObservable
{
私有只读主题_mySubject=新主题();
公共IDisposable订阅(IObserver观察员)
{
return _mySubject.Subscribe(观察者);
}
}
我不知道您的问题,但是如果您可以替换实现IObservable
来公开返回IObservable
的属性/方法,您的境况会好得多。如果您能够做到这一点,您可以很容易地从一些应用程序返回基于Rx的可观测值
如果您不能这样做,我建议您包装一个主题
:
公共类MyInObservable:IObservable
{
私有只读主题_mySubject=新主题();
公共IDisposable订阅(IObserver观察员)
{
return _mySubject.Subscribe(观察者);
}
}
我猜你不想做你正在做的事情
简单看一下您想要模拟的“Store”类,它似乎是某种Subject
。一个Subject
既是一个IObserver
又是一个IObservable
,有许多现成的实现。下面是界面:
public interface ISubject<in TSource, out TResult> : IObserver<TSource>, IObservable<TResult>
{
}
公共接口主体:IObserver,IObservable
{
}
这是一篇关于主题以及何时在此处使用主题的非常好的文章:
我猜你不想做你正在做的事情
简单看一下您想要模拟的“Store”类,它似乎是某种Subject
。一个Subject
既是一个IObserver
又是一个IObservable
,有许多现成的实现。下面是界面:
public interface ISubject<in TSource, out TResult> : IObserver<TSource>, IObservable<TResult>
{
}
公共接口主体:IObserver,IObservable
{
}
这是一篇关于主题以及何时在此处使用主题的非常好的文章:
我将尝试更深入地解释一下我想要得到什么…有一个使用angular的Redux“模式”实现,名为ngrx。这个库提供了一个非常优雅的Redux实现,我喜欢,所以我尝试“翻译/移植”我现在要翻译的主要类是。你可以忽略lift
,replaceReducer
和其他类来关注next
,completed
,…关于我们评论的所有内容有什么想法吗?对不起,我没有完全理解你,我不确定这与原始问题有什么关系n、 我将尝试更深入地解释我想要得到的…有一个使用angular的Redux“模式”实现,称为ngrx。这个库提供了一个非常优雅的Redux实现,符合我的口味,所以我尝试“翻译/移植”我现在要翻译的主要类是。你可以忽略lift
,replaceReducer
和其他类来关注next
,completed
,…关于我们评论的所有内容有什么想法吗?对不起,我没有完全理解你,我不确定这与原始问题有什么关系N