使用属性代替公共成员变量,一个很明显的好处是,很容易在一个地方对成员变量进行控制,例如:
1 class Customer { 2 private string name; 3 public string Name { 4 set { 5 if (string.IsNullOrEmpty(value)) 6 throw new ArgumentNullException("Name", "Name can not be blank"); 7 name = value; 8 } 9 get { return name; } 10 } 11 }
反过来说,如果使用公共成员变量,则对于所有出现公共成员变量的地方,都要重复进行相同的处理,这增加了代码的冗余和我们宝贵的时间.