什么时候使用字段而不是属性

结论:
某些数据属于类内部私有的,请定义成私有字段。
某些数据允许其他类访问或者编辑,请定义成属性。

使用场景:
考虑使用字段:
1、请勿提供public或protected字段。
应提供用于访问字段的属性或方法,而不是将字段设为public或protected。
2、把永远不会更改的常量设置为constants字段
编译器会直接将常量字段的值编译到调用代码中
3、对于预定义对象实例使用public static readonly字段
 
考虑使用属性:
可以把属性看做字段Plus,它们具有字段的调用语法,同时兼备方法的灵活性。
1、如果调用方不能更改属性的值,可以创建 get only 属性
2、set only属性没有意义,不要提供其 Setter 可访问性范围比 Getter 大的属性

概念:
字段是在类或结构中直接声明的任意类型的变量。
属性是一种成员,它提供灵活的机制来读取、写入或计算私有字段的值。 属性可用作公共数据成员,但它们实际上是称为 访问器 的特殊方法。 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性。

栗子:
public class Person
{
   private string _name;
   public string Name
   {
      get
      {
         return _name;
      }
      set
      {
         _name = value;
      }
   }
   //自动属性会自动给我们创建私有字段
   public int Age { get; set; }
}

 


 
posted @ 2022-07-21 14:46  wzyandi  阅读(68)  评论(0编辑  收藏  举报