1. 程式人生 > 其它 >C#重點語法——特性

C#重點語法——特性

特性的基本理解

*************************************************************************************

一.含義

特性是一種宣告性標籤。(類,方法,結構,列舉,元件)

二.使用方法

第一個引數表示新增的目標,說明這個特性加到什麼樣的資料上面(可以指定加到類,建構函式,欄位,方法,屬性)

第二個引數表示可以在同一個物件上加上多個特性。

第三個引數如果為true表示該特性可以被派生類繼承。這裡注意這裡的Inherited如果為true,作用於的是子類,對目前本身的類沒有影響,對子類有作用。

注意如果加上特性後,提示要這個只對特性類有效,說明在要註明的類需要繼承Attribute類。可以把特性理解為一個建構函式。因為在特性上按F12建進去後其實跳入的是建構函式。

在使用特性時可以省略後面的Attribute

瞭解一個特性【obsolete()】(表示過時的特性),這個()可寫可不寫,不寫的話也預設就是無參構造,裡面也可以傳參,這樣可以起到提示作用。

具體其他的用法可以看他的定義。

可以開啟摘要去看具體的含義,比如那個第三個建構函式,如果那個error是true,代表的是被標註的該物件,會報錯,報的錯就是前面那個message。

如果第二個引數寫一個false,就只會是警告

************************************************************************

自定義特性的理解

在自定義的類上面要把用途,用法等標明清楚。所以要藉助AttributeUsage

舉例:定義自定義特性

自定義特性的使用