kos*_*osh 15 c# syntax getter getter-setter
以下方式定义属性之间是否存在差异 -
// private, with getter & setter
private string fName;
public string Name
{
get { return this.fName }
set { this.fName = value }
}
// define as a Property
public string Name { get; set;}
Run Code Online (Sandbox Code Playgroud)
据我所知,它看起来只是一种风格偏好.我错过了什么吗?
Jon*_*eet 26
区别:
第二个版本是所谓的自动实现的属性(或简称"自动属性").它们是在C#3中引入的.如果你只编写看起来像第一个版本的代码 - 即没有涉及逻辑 - 那么自动属性就很棒.您可以随后通过将逻辑转换为第一个表单来添加逻辑.您的所有代码都将与源代码和二进制兼容性术语中的更改兼容.
要知道,自动属性不会允许您指定默认值,有没有这样的事,作为一个真正的只读属性会自动(即一个没有吸气).你最接近的是一个带有私人二传手的公共吸气者,例如
public string Name { get; private set; }
Run Code Online (Sandbox Code Playgroud)
它并不完全相同,但在很多情况下它足够接近.
| 归档时间: |
|
| 查看次数: |
24977 次 |
| 最近记录: |