国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

解讀.Net技術(shù)開(kāi)發(fā)中兩個(gè)“屬性”引起的歧異_.Net教程

2024-07-10 12:51:12
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

推薦:解讀.net垃圾回收和CLR 4.0對(duì)垃圾回收所做的改進(jìn)之一
A survey of garbage collection and the changes CLR 4.0 brings in - series of what is new in CLR 4.0 導(dǎo)言Introduction 垃圾回收(Garbage Collection)在.net中是一個(gè)很重要的機(jī)制. 本文將要談到CLR4.0對(duì)垃圾回收做了哪些改進(jìn). 為了更好地理解這些改進(jìn),

對(duì)于property和attribute這兩個(gè)名詞都叫“屬性”的問(wèn)題,來(lái)源于國(guó)內(nèi)it書(shū)籍翻譯界的疏忽。

其實(shí)它們來(lái)源于兩個(gè)不同的領(lǐng)域,attribute屬于OOA/OOD的概念,而property屬于編程語(yǔ)言中的概念。下面我們來(lái)說(shuō)明它們的異同。

Attribute

Attributes是Microsoft .NET Framework文件的元數(shù)據(jù),可以用來(lái)向運(yùn)行時(shí)描述你的代碼,或者在程序運(yùn)行的時(shí)候影響應(yīng)用程序的行為。

Property

屬性是面向?qū)ο缶幊痰幕靖拍睿峁┝藢?duì)私有字段的訪(fǎng)問(wèn)封裝,在C#中以get和set訪(fǎng)問(wèn)器方法實(shí)現(xiàn)對(duì)可讀可寫(xiě)屬性的操作,提供了安全和靈活的數(shù)據(jù)訪(fǎng)問(wèn)封裝。關(guān)于屬性的概念,不是本文的重點(diǎn),而且相信大部分的技術(shù)人員應(yīng)該對(duì)屬性有清晰的概念。以下是簡(jiǎn)單的屬性

區(qū)別

可以說(shuō)兩者沒(méi)有可比性,只不過(guò)我們國(guó)家的語(yǔ)言特點(diǎn)才引起的歧異,其實(shí)只要記住Attributes是派生于System,Attributes類(lèi)之下,它的主要作用是描述,比如在某一個(gè)自定義控件中的“屬性”就是指Attribute,

[DllImport("User32.dll")]

Attribute也有很多系統(tǒng)的“默認(rèn)”屬性,見(jiàn)下表

預(yù)定義的屬性 有效目標(biāo) 說(shuō)明

AttributeUsage Class 指定另一個(gè)屬性類(lèi)的有效使用方式

CLSCompliant 全部 指出程序元素是否與CLS兼容

Conditional Method 指出如果沒(méi)有定義相關(guān)聯(lián)的字符串,編譯器就可以忽略對(duì)這個(gè)方法的任何調(diào)用

DllImport Method 指定包含外部方法的實(shí)現(xiàn)的DLL位置

STAThread Method(Main) 指出程序的默認(rèn)線(xiàn)程模型為STA

MTAThread Method(Main) 指出程序的默認(rèn)模型為多線(xiàn)程(MTA)

Obsolete 除了Assembly、Module、Parameter和Return 將一個(gè)元素標(biāo)示為不可用,通知用戶(hù)此元素將被從未來(lái)的產(chǎn)品

ParamArray Parameter 允許單個(gè)參數(shù)被隱式地當(dāng)作params(數(shù)組)參數(shù)對(duì)待

Serializable Class、Struct、enum、delegate 指定這種類(lèi)型的所有公共和私有字段可以被串行化

NonSerialized Field 應(yīng)用于被標(biāo)示為可串行化的類(lèi)的字段,指出這些字段將不可被串行化

StructLayout Class、struct 指定類(lèi)或結(jié)構(gòu)的數(shù)據(jù)布局的性質(zhì),比如Auto、Explicit或sequential

ThreadStatic Field(靜態(tài)) 實(shí)現(xiàn)線(xiàn)程局部存儲(chǔ)(TLS)。不能跨多個(gè)線(xiàn)程共享給定的靜態(tài)字段,每個(gè)線(xiàn)程擁有這個(gè)靜態(tài)字段的副本

而Property是指編程過(guò)程中的字段,也即類(lèi)的成員。

如:

private int hour; //定義私有變量表示"小時(shí)",外部是訪(fǎng)問(wèn)不到的.}

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

{

set { hour=value; }

get { return hour; }

}

分享:解讀.net垃圾回收和CLR 4.0對(duì)垃圾回收所做的改進(jìn)之二
A survey of garbage collection and the changes CLR 4.0 brings in Part 2 - series of what is new in CLR 4.0 接前篇Continue the previous post .net垃圾回收和CLR 4.0對(duì)垃圾回收所做的改進(jìn)之一 CLR4.0所帶來(lái)的變化仍然沒(méi)有在這篇,請(qǐng)看下篇。 內(nèi)存釋放

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 随州市| 高雄市| 夏河县| 景泰县| 信阳市| 佛教| 庐江县| 新河县| 侯马市| 隆回县| 辰溪县| 南阳市| 延长县| 丰顺县| 兴文县| 盖州市| 怀安县| 宁夏| 寿阳县| 宕昌县| 红原县| 奎屯市| 岳西县| 嘉鱼县| 长阳| 阜新| 阜南县| 多伦县| 盐城市| 和政县| 遵义市| 光泽县| 南部县| 新泰市| 天长市| 高唐县| 柘城县| 阳东县| 宁都县| 云霄县| 乌海市|