c#3.0中的新自动属性有什么好处?

0 .net c# properties

有什么好处:

public string User {get; set;}
Run Code Online (Sandbox Code Playgroud)

过度

public string User;
Run Code Online (Sandbox Code Playgroud)

由于在第一种情况下您无法访问私人会员,因此仅将您的财产公开会有什么不同?

Mar*_*ell 7

第二个例子是将字段公开,而不是属性(您的问题).这提供了一种简单的方法来制作简单的属性.属性应该是您的默认属性,而不是公共字段; 原因列表是无止境的,但开头是:

  • 封装
  • 添加通知的能力
  • 封装
  • 能够进行验证
  • 封装
  • 数据绑定
  • 封装
  • 安全检查

哦 - 我提到了封装吗?

事后从一个字段变为一个属性是一个突破性的变化 - 特别是如果你使用了很多"ref"代码或可变结构(如此).