您的位置:首页 > 运维架构

property 和 attribute 的区别?

2010-06-20 09:38 525 查看
  property 和 attribute 都被翻译为“属性”,实际上两种都是大相径庭的。它们来源于两个不同的领域,attribute属于OOA/OOD的概念,而property属于编程语言中的概念。

  attributy是Microsoft.net Framework文件的元数据,可以用来运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。

  property属性是面向对象的基本概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现对可读可写属性的操作,提供了安全和灵活的数据访问封装。

  可以说两种没有可比性,但attribute是派生于System、attribute类之下主要作用是描述,比如描述某个方法是来之外部的dll,写如下代码,就是一个attribute,它是一个描述(或者说是声明):

[DllImport(User32.dll)]

而property是指编程过程中的字段、即类的成员,如下

传统写法:
private int _hour;
public int Hour
{
get { return _hour; }
set { _hour = calue; }
}

.net 4中也可以写成
public int Hour{get;set;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: