2016-07-28 153 views
2

在Xamarin形式MVVM的项目,我见过两个:Xamarin形式 - ICommand和命令之间的区别?

public ICommand MyCommand {...}

public Command MyCommand {...}

是什么两者之间的区别,当我应该使用哪个?我可以用Command替换所有的ICommand吗?没有不良影响吗?

+1

它们都基本上提供相同的功能。第一个'ICommand'允许接口的更多自定义实现,而第二个则迫使实现至少有一个'Commad'的基础。一旦它从'ICommand'继承,该框架就很开心。 – Nkosi

+1

您应该阅读有关接口及其实现方式。此外,面向对象编程中的多态的概念。 – Will

回答

5

两者之间有什么区别,我应该在什么时候使用哪个?

它们两者基本上都提供相同的功能。第一个ICommand允许接口的更多定制实现,而第二个定义包装ActionICommand实现。它迫使实现至少有一个基地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, 
}; 
+0

很好解释。 – ViVi

相关问题