【问题标题】:How to expose WhenAny etc如何暴露WhenAny等
【发布时间】:2013-03-25 14:21:06
【问题描述】:

我确定我错过了什么,或者让自己陷入了某个奇怪的沮丧角落,但这就是我正在尝试做的事情。

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

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

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

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

【问题讨论】:

  • 问题中无需添加个人问候语。您的联系人卡片显示在您所有问题的右下方。
  • 对不起,这是我第一次提出问题,从未注意到没有人这样做。 :)

标签: c# wpf reactiveui


【解决方案1】:

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

如果你还在使用 3.x,你可以这样写你的接口:

interface ICoolInterface : IReactiveNotifyPropertyChanged
{
    /* ... */
}

【讨论】:

  • 啊,好吧,如果我的服务接口继承自那个 IReactive 接口,我应该得到WhenAny 等扩展吗?我稍后会尝试并确认。
  • 辛苦了。我将升级到最新版本以获取修复和功能。
猜你喜欢
  • 1970-01-01
  • 2023-01-26
  • 2018-06-19
  • 1970-01-01
  • 2023-03-12
  • 2021-11-22
  • 1970-01-01
  • 1970-01-01
  • 2011-09-14
相关资源
最近更新 更多