Effective C# 之一: 尽可能的使用属性,而不是数据成员

      在设计类的成员的时候,尽量适用属性而不是字段(数据成员)。使用属性的优势有以下几点:
      1.数据安全性检查:可在给属性赋值时候,进行安全性检查,实时抛出异常
      2.属性可以是抽象的:在继承类中进行重写
      3.属性可在接口中定义:在继承类中实现。结合第二点,均可以满足类的设计的弹性需求
      4.可利用属性进行索引器的定义和适用:经常用在集合类的定义中
      5.由于代码内敛的方式被编译器采用,采用属性性能并不比数据成员差多少。    

      简单代码示例:

Code
      
Code

      另外,通过分析IL,我们可以看出,虽然适用公有数据成员和属性在代码表现形式上一样,但其具体实现却不相同:属性在IL中被编译成get_xx,set_xx的两个方式进行。

posted on 2009-04-27 23:32  easy2Dev  阅读(328)  评论(1)    收藏  举报

导航