ReactiveCommand 如何从 ICommand 派生而不显然实现它?

How can ReactiveCommand derives from ICommand without, apparently, implementing it?

ReactiveUI中,classReactiveCommand派生自接口ICommand。但是,它的 public API 似乎没有实现 ExecuteCanExecute.

这怎么可能?

ReactiveCommand 实现了 ICommand explicitly,这意味着如果您的变量类型为 ICommand:

,您只能访问这些成员
ReactiveCommand<Unit, Unit> command = ...;

// compile error
command.Execute();

// compiles fine
(command as ICommand).Execute();

这是为了鼓励您不要使用它,因为反应式界面更优越,但仍然有助于与依赖它的UI工具包(如 WPF)集成.