用C#9和C#10编写属性的最简单、最简洁的形式



考虑到C#9甚至C#10的特性,按如下方式编写属性最简单、最简洁的形式是什么?

是否可以不使用背景字段?

string fName;
public string Name { get { return fName; } set { SetPropertyValue<string>(nameof(Name), ref fName, value); } }
public string Name {get;}

应该是你能做的最简单的。

如果你需要对WPFsPropertyChanged的支持,我通常会做

private string name;
public string Name {get => name; set => Set(ref name, value); }
private void Set<T>(ref T field, T value, [CallerMemberName]string caller = "")
{
field = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(caller ));
}

(可选(在Set方法中添加比较,以便仅在新值与旧值不相等时引发事件。据我所知,c#9或c#10中没有任何新的东西可以改进这一点。

相关内容

  • 没有找到相关文章

最新更新