C# 如何暴露什么时候等

C# 如何暴露什么时候等,c#,wpf,reactiveui,C#,Wpf,Reactiveui,我肯定我错过了什么,或者让自己陷入了一个奇怪的沮丧的角落,但以下是我要做的 我有一个WPF应用程序,使用Unity作为IoC。我有许多具有接口的服务。我通过接口处理我的服务,以便可以轻松地交换服务,或者为最终用户提供选择。所有标准接口编程的东西 实际上,我的所有服务都实现了ReactiveObject。我现在想做一些命令处理的事情,并试图让CanExecute行为正常工作 我的基本问题是,除非我将接口强制转换为物理实现,否则我无法使用WhenAny(从而获得编译的完整类型层次结构,可以看到Whe

我肯定我错过了什么,或者让自己陷入了一个奇怪的沮丧的角落,但以下是我要做的

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

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

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


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

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

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

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

没有必要在问题中添加个人问候语。您的联系卡显示在您所有问题的右下角。对不起,这是我第一次问问题,从未注意到其他人没有问过问题。:)啊,好的,那么如果我的服务接口继承自该IReactive接口,我应该获得WhenAny etc扩展?我以后会试试看,确认一下。真是太棒了。不过我会升级到最新版本以获取补丁和功能。