为什么 C# 中需要属性?

Why properties are needed in C#?

在 C# 中,属性可用于 return 或重置 class 的私有成员的值。但是人们也可以定义方法来实现这些,所以我的问题是:

  1. 为什么要引入属性,为什么不直接使用方法?
  2. 私有成员仅供 class 访问。那为什么要定义属性来修改私有成员?

方法代表动作(将它们视为动词),属性代表数据(将它们视为名词)。属性不应执行计算复杂的逻辑或产生副作用。另一方面,方法应该。

为什么使用属性:

  • 属性用于数据绑定。例如,在 ASP.Net MVC 中,您将属性用作模型的一部分。
  • 属性提供细粒度的访问控制。例如,您可以通过提供 getter 来拥有只读属性。
  • 它有助于调试。例如,您可以在 属性 上设置一个断点,当触及 属性 的值时 IDE 将中断。