2015-08-24 3 views
1

Я продолжаю замечать две аналогичные модели для свойств ICommand ближайшие в примерах, в частности, как показано на MvvmCross вики https://github.com/MvvmCross/MvvmCross/wiki/Databinding#rio:MvvmCross команда

private ICommand _submitCommand; 
public ICommand SubmitCommand 
{ 
    get 
    { 
     _submitCommand = _submitCommand ?? new MvxCommand(DoSubmit); 
     return _submitCommand; 
    } 
} 

И без поддержки магазина и нуль-коалесцирующем оператора, например:

public ICommand SubmitCommand 
{ 
    get 
    { 
     return new MvxCommand(DoSubmit); 
    } 
} 

Что является предпочтительным и почему?

ответ

2

Первая версия просто уменьшает количество созданных объектов, так как будет существовать только один экземпляр, независимо от того, сколько раз доступ к этому свойству.

В большинстве случаев это, вероятно, не так сильно отличается. Большинство людей используют фрагменты кода для генерации кода, поэтому для генерации правильного кода не требуется дополнительная набрав.

+1

Первый также должен использоваться, если вы когда-либо захотите отключить/включить команду (но не часто это не так) – Stuart

Смежные вопросы