加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 每次在property getter中返回新的ICommand是不是很糟糕?

发布时间:2020-12-15 04:04:58 所属栏目:百科 来源:网络整理
导读:写这段代码是值得的: RelayCommand _saveCommand;public ICommand SaveCommand{ get { if (_saveCommand == null) { _saveCommand = new RelayCommand(this.Save); } return _saveCommand; }} 而不是每次都返回新对象: public ICommand SaveCommand{ get {
写这段代码是值得的:
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); }
}

如果操作数不为空则返回左侧的操作数,否则返回正确的操作数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读