Có đáng để viết đoạn mã này:Có tệ khi trả lại ICommand mới mỗi lần trong tài sản getter?
RelayCommand _saveCommand;
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(this.Save);
}
return _saveCommand;
}
}
thay vì chỉ trở về đối tượng mới mỗi lần:
public ICommand SaveCommand
{
get { return new RelayCommand(this.Save); }
}
Từ những gì tôi biết lệnh thu khí được sử dụng khá hiếm và RelayCommand 's constructor khá nhanh. Tốt hơn là viết mã dài hơn?
nó là gì bạn đang quan tâm? Mã độ dài, sử dụng bộ nhớ, ..? Nếu chiều dài của nó dài, bạn có thể rút ngắn ví dụ đầu tiên xuống một dòng: 'return _saveCommand ?? (_saveCommand = new RelayCommand (this.Save)); ' – Brunner
Tại sao bạn không làm' readonly RelayCommand _saveCommand = new RelayCommand (Save); công khai ICommand SaveCommand {get {return _saveCommand; }} '? –
Hoặc bạn cũng có thể thêm '_saveCommand = new RelayCommand (Lưu);' trong ctor của lớp học của bạn –