0

我确定我错过了一些东西,或者让自己陷入了一个奇怪的沮丧角落,但这就是我想要做的。

我有一个 WPF 应用程序,使用 Unity 作为 IoC。我有许多具有接口的服务。我通过接口处理我的服务,以便可以轻松地更换服务,或者我可以为最终用户提供选择。所有标准接口编程的东西。

实际上,我所有的服务都实现了 ReactiveObject。我现在想做一些命令处理的东西,并试图让 CanExecute 行为正常工作。

我的基本问题是我不能使用WhenAny,除非我将接口转换为物理实现(从而获得用于编译的完整类型层次结构,可以看到WhenAny)。但是,这种转换违反了接口,意味着我失去了交换实现的能力。

是否有一个 ReactiveUI 接口暴露了 WhenAny 等,我可以从中派生我的服务接口,从而能够使用 ReactiveUI 的强大功能,同时保持非特定类型?

4

1 回答 1

0

为什么不能在作为接口的实例上使用WhenAny?从 ReactiveUI 4.x 开始,WhenAny 应该在每个对象上。

如果您仍在使用 3.x,则可以这样编写接口:

interface ICoolInterface : IReactiveNotifyPropertyChanged
{
    /* ... */
}
于 2013-03-25T06:21:06.520 回答