编写这段代码是否值得:

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); }
}

如果操作数不为null,则返回左侧的操作数,否则返回右侧的操作数。

关于c# - 每次在属性getter中返回新的ICommand是否不好?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11100161/

10-10 07:40