两个“属性”引起的歧异-property和attribute的区别
这虽然没有“一个馒头引发的血案”那么严重,但是也足以成为.net程序员的技术盲点之二。
对于property和attribute这两个名词都叫“属性”的问题,来源于国内it书籍翻译界的疏忽。
其实它们来源于两个不同的领域,attribute属于OOA/OOD的概念,而property属于编程语言中的概念。下面我们来说明它们的异同。
Attribute
Attributes是Microsoft .NET Framework文件的元数据,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。
Property
属性是面向对象编程的基本概念,提供了对私有字段的访问封装,在C#中以get和set访问器方法实现对可读可写属性的操作,提供了安全和灵活的数据访问封装。关于属性的概念,不是本文的重点,而且相信大部分的技术人员应该对属性有清晰的概念。以下是简单的属性
区别
可以说两者没有可比性,只不过我们国家的语言特点才引起的歧异,其实只要记住Attribute是派生于System,Attribute类之下,它的主要作用是描述,比如某为了描述某个方法是来自与外部的dll,
可以写如下代码,这就是一个Attribute,他是一个描述(或者说声明)
[DllImport("User32.dll")]
Attribute也有很多系统的“默认”属性,见下表
预定义的属性
|
有效目标
|
说明
|
AttributeUsage
|
Class
|
指定另一个属性类的有效使用方式
|
CLSCompliant
|
全部
|
指出程序元素是否与CLS兼容
|
Conditional
|
Method
|
指出如果没有定义相关联的字符串,编译器就可以忽略对这个方法的任何调用
|
DllImport
|
Method
|
指定包含外部方法的实现的DLL位置
|
STAThread
|
Method(Main)
|
指出程序的默认线程模型为STA
|
MTAThread
|
Method(Main)
|
指出程序的默认模型为多线程(MTA)
|
Obsolete
|
除了Assembly、Module、Parameter和Return
|
将一个元素标示为不可用,通知用户此元素将被从未来的产品
|
ParamArray
|
Parameter
|
允许单个参数被隐式地当作params(数组)参数对待
|
Serializable
|
Class、Struct、enum、delegate
|
指定这种类型的所有公共和私有字段可以被串行化
|
NonSerialized
|
Field
|
应用于被标示为可串行化的类的字段,指出这些字段将不可被串行化
|
StructLayout
|
Class、struct
|
指定类或结构的数据布局的性质,比如Auto、Explicit或sequential
|
ThreadStatic
|
Field(静态)
|
实现线程局部存储(TLS)。不能跨多个线程共享给定的静态字段,每个线程拥有这个静态字段的副本
|
而Property是指编程过程中的字段,也即类的成员。
如:
private int hour; //定义私有变量表示"小时",外部是访问不到的.}
public int Hour// 定义Hour程序接口
{
set { hour=value; }
get { return hour;}
}
分享到:
相关推荐
经济目标和可持续发展目标存在歧异 .一般而言 ,经济系统自身不能实现农用土地的可持续利用 .2 .农用土地的现期使用会导致未来经济利益的丧失 ,这一现象可用使用者成本来表示 .我国现行农用土地的制度安排会使农民的...
AlphaFold是DeepMind开发的一个人工智能系统,可以根据蛋白质的氨基酸序列预测蛋白质的3D结构。AlphaFold软件和“AlphaFold蛋白质结构数据库”(AlphaFold Protein Structure Database)向公众开放已经一年了,用户...
我想,这种歧异的主要原因,在乎两族语的机构刚刚相反;一个是单音语,一个是多音语。而且这种歧异在另一些族语里也可发见,不过有程度上的不同罢了。”全书的要旨在此。序后接着就是外来语....
后世逐渐形成了在南阳和在囊阳两种不同的学术观点。而在这场学术争论中。东晋习凿齿中的“孔明在南阳,同县庞德公素有重名”和《草庐对》中诸葛亮的“将荆州之军以向宛、洛”两句话。常被襄阳说者引为“躬耕地”在囊...
主要指出,2000年普通高校招收保送生综合能力测试卷的数学题中存在对问题考虑不周详、不严密和叙述不精准等失误,引起考生理解的歧异和解题的混乱,导致考生不该有的失分。从而说明我们必须注意数学逻辑的严密性和...
诉诸法律,法律解释歧异,竟无道以适从。然此类莫可究诘之问题,每每牵涉广泛,贯澈一门科学之全部。学者如对之无明确之了解,则障碍丛生,将见步步荆棘,概少显著之进境。折耗与折售,即所认特殊问题。故先表而出之...
基于中西方关系文化差异的领导成员交换(LMX),陈红,刘梅,文化差异会导致组织行为的歧异,进而影响到组织绩效。当中西方文化差异较大时,彼此所展现的组织行为会有所不同,进而由组织行为