在Xamarin形式MVVM的项目,我见过两个:Xamarin形式 - ICommand和命令之间的区别?
public ICommand MyCommand {...}
和
public Command MyCommand {...}
是什么两者之间的区别,当我应该使用哪个?我可以用Command
替换所有的ICommand
吗?没有不良影响吗?
在Xamarin形式MVVM的项目,我见过两个:Xamarin形式 - ICommand和命令之间的区别?
public ICommand MyCommand {...}
和
public Command MyCommand {...}
是什么两者之间的区别,当我应该使用哪个?我可以用Command
替换所有的ICommand
吗?没有不良影响吗?
两者之间有什么区别,我应该在什么时候使用哪个?
它们两者基本上都提供相同的功能。第一个ICommand
允许接口的更多定制实现,而第二个定义包装Action
的ICommand
实现。它迫使实现至少有一个基地Command
,并且如果你不想推出你自己的ICommand
的实施,也提供了一个起点。
我可以用
Command
替换所有的ICommand
而没有不良影响吗?
一旦你使用了继承自ICommand
的框架,就很高兴。
ICommand command = new Command (() => Debug.WriteLine ("Command executed"));
var button = new Button {
Text = "Hit me to execute the command",
Command = command,
};
很好解释。 – ViVi
它们都基本上提供相同的功能。第一个'ICommand'允许接口的更多自定义实现,而第二个则迫使实现至少有一个'Commad'的基础。一旦它从'ICommand'继承,该框架就很开心。 – Nkosi
您应该阅读有关接口及其实现方式。此外,面向对象编程中的多态的概念。 – Will