Property和Attribute的区别是什么?

中文翻译上都是“属性”,实际上两者都是大相径庭的。Attribute属于OOA/OOD的概念,而Property属于编程语言中的概念。Attribute是Microsofe .NET FRAMEWORK 文件的元数据,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。Property属性是面向对象编程的基本概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现时可读可写属性的操作,提供了安全和灵活的数据访问封装。

可以说两者没有可比性,只要记住Attribute是派生于System.Attribute类之下,它的主要作用是描述,比如为了描述某个方法是来自外部的DLL,写如下代码,值就是一个Attribute,它是一个描述

[DLLImport("User32.dll")]

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

private int hour ;//定义私有变量“小时”,外部是访问不到的

public int Hour//定义Hour程序接口

{

get { hour=value;}

set{ return hour;}

}

posted @ 2012-12-05 21:55  柏衣  阅读(263)  评论(0编辑  收藏  举报