写这段代码是值得的:
RelayCommand _saveCommand; public ICommand SaveCommand { get { if (_saveCommand == null) { _saveCommand = new RelayCommand(this.Save); } return _saveCommand; } }
而不是每次都返回新对象:
public ICommand SaveCommand { get { return new RelayCommand(this.Save); } }
从我所知道的命令getter很少使用,RelayCommand的构造函数很快.编写更长代码是否更好?
解决方法
我喜欢
null coalescing operator
public ICommand SaveCommand { get { return _saveCommand ?? (_saveCommand = new RelayCommand(this.Save); } }
如果操作数不为空则返回左侧的操作数,否则返回正确的操作数.