C# 自动属性

标签 c# c#-3.0 automatic-properties

我对 C# 中的自动属性有点困惑,例如

public string Forename{ get; set; }

我知道您通过不必声明私有(private)变量来节省代码,但是当您不使用任何 get 或 set 逻辑时,属性有什么意义呢?为什么不直接使用

public string Forename; 

我不确定这两个语句之间的区别是什么,我一直认为如果您想要额外的 get/set 逻辑,您会使用属性?

最佳答案

属性可以在不破坏契约的情况下将代码放入其中,字段不能在不将它们更改为属性(并破坏接口(interface))的情况下将代码放入其中。属性可以是只读或只写的,字段不能。属性可以是数据绑定(bind)的,字段不能。

关于C# 自动属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1294660/

相关文章:

c# - 汽车属性(property)的意义何在?

javascript - 无法加载文件或程序集 'Noesis.Javascript.dll'

c# - 公共(public)字段与自动属性

c# - .NET 编译器和 "Not all code paths return a value"

c# - WinForm 应用程序中的沙漏问题

javascript - 单击 a href 时 Jquery Ajax 调用将数据发送到方法

C#:如何设置属性的默认值

c# - 这是自动属性的正确语法吗?

c# - 用户 IsInRole 仅在从网站登录和注销后才有效

c# - 更新列表中的项目不起作用