gpt4 book ai didi

c# - MVVM Foundation : Why return ICommand when its defined as RelayCommand

转载 作者:行者123 更新时间:2023-12-03 10:13:47 26 4
gpt4 key购买 nike

我正在使用MVVM Foundation中的SampleModel项目。当ICommand声明为_decrementCommand时,为什么会返回RelayCommand。我知道RelayCommand继承了ICommand,但仅返回RelayCommand会更清楚吗?

public ICommand DecrementCommand {
get { return _decrementCommand ?? (_decrementCommand = new RelayCommand(() => --this.Value)); }
}
RelayCommand _decrementCommand;

最佳答案

这是使用您可以避免的最少特定类型的原则。具体或特定类型是一种责任,因为它们更可能暴露调用者不需要了解的内容,并且更有可能需要更改(使它们成为实现细节)。

在这种情况下,如果始终返回ICommand,则可以在不中断调用者的情况下更改基础命令类型。您还可以期望调用者将不必比他们真正应该了解的更多地了解您的功能,这意味着他们不太可能违反OO原则。

关于c# - MVVM Foundation : Why return ICommand when its defined as RelayCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3791701/

26 4 0