精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

學(xué)習(xí)C#:Attribute與Property

開發(fā) 后端
本文介紹了什么是Attribute,Attribute的概念定義,Attribute與Property的區(qū)別。

一.什么是Attribute

先看下面的三段代碼:

1.自定義Attribute類:VersionAttribute

  1. [AttributeUsage(AttributeTargets.Class)]  
  2. public class VersionAttribute : Attribute  
  3. {  
  4.     public string Name { getset; }  
  5.     public string Date { getset; }  
  6.     public string Describtion { getset; }  

2.使用自定義Attribute的Class:

  1. [Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]  
  2. public class MyCode  
  3. {  
  4.     //...  

3.上面這個Class中的Attribute一般會被如何使用呢?

  1. class Program  
  2. {  
  3.     static void Main(string[] args)  
  4.     {  
  5.         var info = typeof(MyCode);  
  6.         var classAttribute = (VersionAttribute)Attribute.GetCustomAttribute(info, typeof(VersionAttribute));  
  7.         Console.WriteLine(classAttribute.Name);  
  8.         Console.WriteLine(classAttribute.Date);  
  9.         Console.WriteLine(classAttribute.Describtion);  
  10.     }  

示例完畢!上面三段代碼相信已經(jīng)說明了Attribute大概是一個什么東西和怎么去用。

二.深入討論Attribute

1.Attribute的概念定義

關(guān)于Attribute概念的定義,我直接引用《你必須知道的.NET之特性和屬性》中的一段來說明:

MADN的定義為:公共語言運行時允許添加類似關(guān)鍵字的描述聲明,叫做attributes, 它對程序中的元素進行標(biāo)注,如類型、字段、方法和屬性等。Attributes和Microsoft .NET Framework文件的元數(shù)據(jù)(metadata)保存在一起,可以用來向運行時描述你的代碼,或者在程序運行的時候影響應(yīng)用程序的行為。

我們簡單的總結(jié)為:定制特性attribute,本質(zhì)上是一個類,其為目標(biāo)元素提供關(guān)聯(lián)附加信息,并在運行期以反射的方式來獲取附加信息。

噢,原來Attribute的目的是為元素提供關(guān)聯(lián)附加信息。其中,上面***段代碼中“[AttributeUsage(AttributeTargets.Class)] ”說明了Attribute提供附加信息的元素是Class,所以如果上面第二段的代碼改為:

  1. public class MyCode  
  2. {  
  3.     [Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]  
  4.     public void Test() { }  
  5. }  
  6.  

會出現(xiàn)編譯錯誤。

2.Attribute作為編譯指令

Attribute類是在編譯的時候被實例化的,而不是像通常的類那樣在運行時候才實例化。所以在第三段代碼中,你可以在沒有實例化MyCode對象的情況下取到MyCode的Attribute信息。由于Attribute類是在編譯的時候被實例化的,所以你還可以用外部工具維護這些Attribute信息。

3.Attribute與Property

從中文來說,Attribute和Property的中文都叫“屬性”,很容易讓人混淆。現(xiàn)在的文章,Attribute一般翻譯為”特性”,而Property稱為“屬性”。

或許你會問,我用靜態(tài)的Property/Field一樣可以做到在不實例化的時候拿到一些信息,如果這樣的話,Attribute又有什么存在意義呢?

1.Property:

Property可以說是一個面向?qū)ο蟮母拍睿峁┝藢λ接凶侄蔚脑L問封裝,在C#中以get和set訪問器方法實現(xiàn)對可讀可寫屬性的操作,提供了安全和靈活的數(shù)據(jù)訪問封裝。比如:

  1. public class Robot  
  2. {  
  3.     private string name = "";   //字段:Field  
  4.     public string Name          //屬性:Property,對Field進行封裝。  
  5.       {  
  6.         get { return name; }  
  7.         set { name = value; }  
  8.     }  

2.Attribute:

Attribute的目標(biāo)是:為元素提供附加信息。它的作用更類似于注釋。

可以說,Property/Field和Attribute是兩個完全不同的概念,雖然他們有些時候能做一樣的事,但請記住,他們是從本質(zhì)上就不同的兩個東西。

三.實現(xiàn)自己的Attribute時需要注意的一些問題

1.自定義的Attribute必須直接或者間接繼承System.Attribute。

2.這里有一個約定:所有自定義的特性名稱都應(yīng)該有個Attribute后綴。因為當(dāng)你的Attribute施加到一個程序的元素上的時候,編譯器先查找你的Attribute的定義,如果沒有找到,那么它就會查找“Attribute名稱"+Attribute的定義。如果都沒有找到,那么編譯器就報錯。這就是為什么我可以再上面***段代碼中,定義一個VersionAttribute,但在第二段代碼中,我使用卻是Version這個Attribute。:>

下面是一些開發(fā)自定義Attribute時,可能需要用到的資料:

【1】Attribute可以關(guān)聯(lián)的元素包括:

程序集(assembly)、模塊(module)、類型(type)、屬性(property)、事件(event)、字段(field)、方法(method)、參數(shù)(param)、返回值(return)。例如:

  1. [assembly: Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]  
  2. public class MyCode  
  3. {  
  4.     //......  

用指定的前綴來表示特性所應(yīng)用的目標(biāo)元素,建議這樣來處理,因為顯式處理可以消除可能帶來的二義性。

【2】AttributeTargets目標(biāo)包括:

AttributeTargets目標(biāo)包括 

【3】AttributeUsageAttribute中的3個屬性(Property)說明:

AttributeUsageAttribute中的3個屬性(Property)說明   

四.參考資料

【1】Msdn

【2】《你必須知道的.NET之特性和屬性》,博主嚴重推薦!

【3】《Attribute在.net編程中的應(yīng)用》系列文章

【編輯推薦】

  1. C#自定義控件的開發(fā):Pin和Connector
  2. 比較C#自定義控件的property(屬性)和/attribute(性質(zhì))
  3. C#組件開發(fā):COM和.NET對象之間的互操作
  4. 介紹.NET平臺、C#和ASP.NET
  5. C# Attributes:定義設(shè)計期信息
責(zé)任編輯:book05 來源: cnblogs
相關(guān)推薦

2009-09-11 11:16:53

C# Attribut

2009-08-03 14:42:50

C#自定義控件

2024-05-20 00:00:00

C#屬性Property

2015-08-10 10:58:53

dompropertyattribute

2025-03-10 00:00:00

property?attributeHTML

2025-03-10 11:40:00

前端開發(fā)HTML

2009-08-27 16:11:03

C# delegateC# event

2010-12-30 09:44:10

C#Attribute

2009-08-24 11:02:52

C#接口映射

2009-08-24 09:55:26

C#接口轉(zhuǎn)換

2024-05-17 08:42:52

AttributeMyClass方法

2009-09-11 11:33:58

C# WinForm控Attribute

2021-04-14 07:47:59

AttributeC#屬性

2009-08-20 15:02:57

C# If語句

2009-08-24 10:31:37

C#接口繼承

2009-08-12 15:50:40

C# ListBox

2009-08-19 17:11:49

C#程序集

2009-08-20 17:49:53

學(xué)習(xí)C#程序

2009-09-11 10:44:55

C#語言

2009-08-13 18:21:52

C#學(xué)習(xí)筆記
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲午夜无码av毛片久久| 成人av蜜桃| 99久久99久久精品国产| 日韩有吗在线观看| 疯狂做受xxxx高潮欧美日本| 日韩av一区二区三区在线观看| 亚洲视频久久久| 欧美大片一区| 亚洲欧美日韩久久久久久| 欧美三级午夜理伦三级富婆| 毛片网站在线看| 久久亚洲精精品中文字幕早川悠里| 国产精品入口免费视频一| 欧美日韩人妻精品一区二区三区| 亚洲a级精品| 欧美一区二区性放荡片| 欧洲av无码放荡人妇网站| 国产色在线观看| 久久男人中文字幕资源站| 亚洲最大的免费| 亚洲无码精品一区二区三区| 欧美三级在线| 日韩在线视频线视频免费网站| chinese麻豆新拍video| 婷婷久久综合九色综合99蜜桃| 狠狠躁18三区二区一区| 国产一二三四五| eeuss影院www在线观看| 成人app下载| 亚洲sss综合天堂久久| 波多野结衣影片| 国产欧美丝祙| 色综合久久88色综合天天看泰| 超薄肉色丝袜一二三| 日韩超碰人人爽人人做人人添| 欧美一区国产二区| 国产3p在线播放| 成人黄色免费观看| 日韩欧美国产网站| 黄色一级片播放| 天使と恶魔の榨精在线播放| 中文字幕亚洲成人| 涩涩涩999| 黄网站在线观看| 久久综合色婷婷| 久久av二区| 免费看国产片在线观看| 国产精品538一区二区在线| 日本欧美一二三区| 国产又大又黄视频| 国产精品日韩欧美一区| 国语自产精品视频在线看一大j8| 成年人av电影| 欧美日韩国产亚洲一区| 欧美黑人视频一区| 国产一级黄色av| 欧美日韩一区自拍| 久久久久久久久爱| av大片免费观看| 国产毛片久久| 日韩av免费在线看| 无码视频一区二区三区| 日韩国产精品久久| 国产精品欧美日韩| 一级全黄少妇性色生活片| 另类人妖一区二区av| 成人黄色av网| 国产黄a三级三级看三级| 国产精品亚洲午夜一区二区三区| 亚洲一区二区免费| 性一交一乱一乱一视频| 成人美女视频在线看| 精品91免费| 国产美女视频一区二区三区 | 国产日韩视频一区| 久久久久久久久久久久久久久久久久久久| 亚洲精品一区在线观看| 毛片网站免费观看| 色综合咪咪久久网| 欧美伦理91i| 国产又大又黄又粗| 蜜臀精品一区二区三区在线观看 | 国产精品你懂的在线| 色乱码一区二区三区熟女| 爱福利在线视频| 色8久久精品久久久久久蜜| 中文字幕国产免费| 99香蕉久久| 国产亚洲欧洲黄色| 日本少妇高清视频| 一区二区91| 国产欧美最新羞羞视频在线观看| 99久久精品国产一区二区成人| 99久久伊人久久99| 一区二区三区久久网| 久草在线视频资源| 欧美在线不卡一区| 少妇献身老头系列| 国产成人影院| 欧美激情视频一区二区| 青青国产在线视频| 高清国产一区二区| 影音先锋欧美资源| 中文在线资源| 日韩久久精品一区| jizz中文字幕| 亚洲日韩成人| 91精品中文在线| 日本成人一区二区三区| 亚洲精品视频一区二区| 在线视频日韩一区 | 精品视频久久久久久| 亚洲精品电影院| 亚洲主播在线| 成人蜜桃视频| 尤物网在线观看| 日韩欧美精品网站| 黄色av电影网站| 欧美国产小视频| 国产精品1234| 无码精品黑人一区二区三区| 亚洲色图制服丝袜| 99视频在线视频| 日韩影视高清在线观看| 欧美日韩第一视频| 国产绿帽一区二区三区| 国产日产精品1区| 内射国产内射夫妻免费频道| 日韩欧美中文在线观看| 日韩亚洲成人av在线| 日韩中文字幕高清| 久久久久国产精品免费免费搜索| 霍思燕三级露全乳照| 亚洲乱码一区| 另类视频在线观看| 亚洲天堂免费av| 日本一区二区三区视频视频| 成人黄色片视频| 偷拍亚洲精品| 欧洲日韩成人av| 亚洲日本香蕉视频| 欧美日韩黄色大片| 污污污www精品国产网站| 黄色亚洲在线| 成人在线免费网站| 福利网站在线观看| 亚洲成年人在线播放| 国产一级aa大片毛片| 丁香五精品蜜臀久久久久99网站| 欧美 日韩 国产精品| 日本一区影院| 欧美精品18videos性欧| 成人无码一区二区三区| 亚洲va国产va欧美va观看| 岛国精品一区二区三区| 99国产精品99久久久久久粉嫩| 国产视频一区二区不卡| 久草免费在线视频| 亚洲欧美一区二区激情| 亚洲精品91天天久久人人| 亚洲国产精品传媒在线观看| 亚洲欧美日韩一级| 亚洲理论电影网| 成人免费视频观看视频| 天堂网在线最新版www中文网| 亚洲加勒比久久88色综合| 国产专区第一页| 国产调教视频一区| wwwwwxxxx日本| 亚洲二区三区不卡| 国产精品一区二区三区不卡 | 四季av一区二区三区免费观看| 国产精品一区专区欧美日韩| 麻豆免费在线视频| 欧美成人精精品一区二区频| 国产在线免费视频| 91视频免费看| 亚洲综合婷婷久久| 国产主播精品| 欧美精品久久久| 欧美男男gaygay1069| 欧美精品在线极品| 亚洲人妻一区二区| 欧美日韩国产免费一区二区| 国产无码精品在线播放| 久久久av毛片精品| 国产精品嫩草影院8vv8| 精品1区2区3区4区| 日韩久久不卡| 天堂久久av| 日韩美女免费线视频| 九色porny丨首页在线| 欧美精品一区二区三区很污很色的| 天堂中文在线网| 一区二区中文视频| 黄色在线观看av| 国产主播一区二区| 青青草原成人网| 欧美在线不卡| 欧美日韩一区二| 视频一区中文字幕精品| 国产精品久久激情| 国产白丝在线观看| 日韩视频永久免费观看| 视频一区 中文字幕| 欧美情侣在线播放| 特级毛片www| 亚洲男人的天堂一区二区| 国产美女精品久久| 国产99精品在线观看| 天天操,天天操| 国产一区成人| 国产91视频一区| 色婷婷色综合| 欧美日韩免费观看一区| 亚洲va欧美va人人爽成人影院| 国产成人久久精品| www.超碰在线| 欧美成人高清视频| h网站在线免费观看| 日韩激情av在线播放| 精品久久久中文字幕人妻| 欧美综合亚洲图片综合区| 九九热在线视频播放| 怡红院av一区二区三区| 免费黄色激情视频| 日本一区二区视频在线| 中文幕无线码中文字蜜桃| 成人午夜大片免费观看| 91亚洲一区二区| 久久成人免费网站| 一区二区三区韩国| 日本伊人精品一区二区三区观看方式| 久久久久久免费看| 欧美日本二区| 久操手机在线视频| 欧美福利电影在线观看| 永久免费看av| 亚洲天堂免费| 艳母动漫在线观看| 无码一区二区三区视频| 一本—道久久a久久精品蜜桃| 欧美日韩国产高清电影| 欧洲av一区| 欧美极品在线观看| 欧洲高清一区二区| 日本女优一区| 亚洲欧美久久234| 精品日韩毛片| 一本色道久久综合亚洲二区三区| 成人午夜av| 亚洲午夜高清视频| 亚洲va在线| 日本xxxxx18| 欧美激情成人在线| 亚洲人精品午夜射精日韩| 亚洲国产黄色| 六月激情综合网| 日本午夜一本久久久综合| 天堂av在线网站| 久久99精品久久只有精品| 色一情一区二区| 国内精品久久久久影院薰衣草| 激情在线观看视频| 成人深夜视频在线观看| www.免费av| 国产亚洲一区二区三区在线观看| 亚洲色图第四色| 最新热久久免费视频| 久久久久久国产精品免费播放| 亚洲成a人片在线不卡一二三区| www.国产高清| 91国偷自产一区二区使用方法| 亚洲自拍偷拍另类| 日韩精品一区二区三区中文不卡| 色婷婷av一区二区三| 亚洲欧美日韩一区二区在线| 日本高清中文字幕在线| 欧美成人免费小视频| 男人av在线播放| 国产精品视频一| 日韩成人在线观看视频| 裸模一区二区三区免费| 希岛爱理av一区二区三区| 一本久道高清无码视频| 久久蜜桃精品| 两性午夜免费视频| 91视频.com| 在线观看黄网址| 亚洲成人精品在线观看| 波多野结衣mp4| 欧美成人一级视频| 国产日产精品久久久久久婷婷| 精品激情国产视频| 擼擼色在线看观看免费| 国产日韩欧美另类| 理论片一区二区在线| 亚洲午夜精品一区二区| 91久久综合| www.se五月| 久久久亚洲精品石原莉奈 | 舔着乳尖日韩一区| 亚洲综合一区中| 精品一区二区电影| 91国内在线| 国产精品成av人在线视午夜片| 欧一区二区三区| 亚洲国产精品一区二区第一页| 亚洲福利国产| 午夜精品久久久久久久99热影院| 91一区二区在线| 欧美久久久久久久久久久久| 欧美特级限制片免费在线观看| 熟妇人妻av无码一区二区三区| 日韩中文字在线| 香蕉久久免费电影| 国产日韩二区| 亚洲精品午夜av福利久久蜜桃| 北条麻妃在线一区| jvid福利写真一区二区三区| 亚洲av无码一区二区三区在线| 欧洲一区二区三区免费视频| 色一情一乱一乱一区91av| 久久天天躁狠狠躁夜夜躁| 成人福利片在线| 日韩激情久久| 久久久xxx| 亚洲天堂成人av| 亚洲成人777| 午夜精品久久久久久久爽| www.日韩免费| 国产精品天堂蜜av在线播放| 欧美中日韩一区二区三区| 在线亚洲欧美| 怡红院一区二区| 亚洲午夜电影在线观看| 亚洲国产精品久久久久久久| 久久综合色影院| 九九九九九九精品任你躁| 自拍偷拍99| 美女精品一区二区| 精品无码在线观看| 欧美在线色视频| 国产永久免费高清在线观看视频| 欧美一级片久久久久久久| 欧美成人午夜77777| 2018国产在线| 9久草视频在线视频精品| 精品91久久久| 亚洲精品xxxx| 成人性生交大片免费网站| 欧美一区二区影视| 日韩高清不卡在线| 长河落日免费高清观看| 欧美日韩国产影片| 久操视频在线免费播放| 亚洲xxxx18| 亚洲视频一区| 亚洲中文字幕一区| 色噜噜狠狠一区二区三区果冻| 精品久久av| 国产精品美女久久| 亚洲第一天堂| aaaaa黄色片| 午夜成人免费电影| 久久久pmvav| 91精品久久久久久久久中文字幕| 在线成人超碰| xxxxxx黄色| 欧美影院精品一区| 黄色av免费在线| 成人免费视频网站| 免费在线欧美黄色| 久久精品色妇熟妇丰满人妻| 91麻豆精品国产91久久久久久| 在线欧美三级| 欧美自拍资源在线| 国内精品久久久久影院一蜜桃| 国产在线观看99| 亚洲图片欧美日产| 久久精品九色| 少妇高潮喷水久久久久久久久久| 国产精品色婷婷久久58| 亚洲国产成人一区二区| 欧美亚洲视频在线看网址| 成人综合一区| 男人网站在线观看| 欧美性一级生活| 男人添女人下部高潮视频在线观看| 蜜桃成人在线| 国产精品白丝av| 免费的毛片视频| 欧美精品免费在线| 国产一区网站| 亚洲少妇中文字幕| 欧美视频一区二| 极品视频在线| 老司机av福利| 久久久一区二区三区捆绑**| 国产肥老妇视频|