日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 特性 Attribute

發(fā)布時間:2023/11/29 C# 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 特性 Attribute 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  特性就是在類的類名稱、屬性、方法等上面加一個標記,使這些類、屬性、方法等具有某些統(tǒng)一的特征,從而達到某些特殊的需要。舉個小栗子:方法的異常捕捉,你是否還在某些可能出現(xiàn)異常的地方(例如數(shù)據(jù)庫的操作、文件的操作等)經(jīng)常使用try...catch。這個時候如果使用特性,就可 以大大減少方法里面的try...catch的使用。你只需要定義一個專門捕捉異常的特性類ExceptionExAttribute,然后給這個特性類 做些特殊處理,比如給它增加一個AOP攔截的功能(AOP攔截的方式很多,有興趣可以搜搜看,園子里面很多類似的文章)。那么在可能出現(xiàn)異常的方法名稱上 面加上一個[ExceptionEx]特性標簽,這個方法就具有自動捕捉異常的能力。由此可見,特性可以減少統(tǒng)一需求的代碼量.

官方描述:

特性(Attribute)是用于在運行時傳遞程序中各種元素(比如類、方法、結(jié)構(gòu)、枚舉、組件等)的行為信息的聲明性標簽。您可以通過使用特性向程序添加聲明性信息。一個聲明性標簽是通過放置在它所應(yīng)用的元素前面的方括號([ ])來描述的。

特性(Attribute)用于添加元數(shù)據(jù),如編譯器指令和注釋、描述、方法、類等其他信息。.Net 框架提供了兩種類型的特性:預(yù)定義特性和自定義特性

1.預(yù)定義特性

.Net 框架提供了三種預(yù)定義特性:

·AttributeUsage 起條件編譯的作用,只有滿足條件,才允許編譯器對它的代碼進行編譯。一般在程序調(diào)試的時候使用。

·Conditional 描述了如何使用一個自定義特性類。它規(guī)定了特性可應(yīng)用到的項目的類型。

·Obsolete 這個屬性用來標記當(dāng)前的方法已經(jīng)被廢棄,不再使用了。

舉個小栗子a如下:

[Obsolete("Don't use OldMethod, use NewMethod instead", true)]static void OldMethod(){Console.WriteLine("It is the old method");}static void NewMethod(){Console.WriteLine("It is the new method");}static void Main(string[] args){OldMethod();NewMethod();Console.ReadKey();}

實際上是這樣

2.自定義特性

特性是給目標類型添加描述性的元數(shù)據(jù),它不會影響代碼的運行。自定義特性的命名必須以Attribute結(jié)尾,如DefinedAttribute, 而在使用的時候可以直接用[Defined]或者[DefinedAttribute]

小栗子b如下:

public class DefinedAttribute:Attribute{private string Name { get; set; }private string Sex { get; set; }public DefinedAttribute(string _Name,string _Sex){this.Name = _Name;this.Sex = _Sex;}}public class TestAttribute{[Defined("小明","")][Defined("張偉","")]public void A(){Console.WriteLine("111");}}

?

轉(zhuǎn)載于:https://www.cnblogs.com/miaoying/p/5022253.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的C# 特性 Attribute的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。