При использовании RelayCommand Джоша Смита в большинстве примеров, которые я видел, используется ленивая инициализация, например:
public class ViewModel
{
private ICommand myCommand;
public ICommand MyCommand
{
get
{
if (myCommand == null)
{
myCommand = new RelayCommand(p => DoSomething() );
}
return myCommand;
}
}
// ... stuff ...
}
Вместо создания RelayCommand в конструкторе, например:
public class ViewModel
{
public ViewModel()
{
MyCommand = new RelayCommand(p => DoSomething());
}
public ICommand MyCommand
{
get;
private set;
}
// ... stuff ...
}
В чем преимущество использования отложенной инициализации здесь?При настройке привязки ему нужно будет вызывать свойство get, поэтому я не вижу причины использовать этот метод для настройки параметров в конструкторе.
Я что-то здесь упускаю?