C#重點語法——特性
阿新 • • 發佈:2021-08-23
特性的基本理解
*************************************************************************************
一.含義
特性是一種宣告性標籤。(類,方法,結構,列舉,元件)
二.使用方法
第一個引數表示新增的目標,說明這個特性加到什麼樣的資料上面(可以指定加到類,建構函式,欄位,方法,屬性)
第二個引數表示可以在同一個物件上加上多個特性。
第三個引數如果為true表示該特性可以被派生類繼承。這裡注意這裡的Inherited如果為true,作用於的是子類,對目前本身的類沒有影響,對子類有作用。
注意如果加上特性後,提示要這個只對特性類有效,說明在要註明的類需要繼承Attribute類。可以把特性理解為一個建構函式。因為在特性上按F12建進去後其實跳入的是建構函式。
在使用特性時可以省略後面的Attribute
瞭解一個特性【obsolete()】(表示過時的特性),這個()可寫可不寫,不寫的話也預設就是無參構造,裡面也可以傳參,這樣可以起到提示作用。
具體其他的用法可以看他的定義。
可以開啟摘要去看具體的含義,比如那個第三個建構函式,如果那個error是true,代表的是被標註的該物件,會報錯,報的錯就是前面那個message。
如果第二個引數寫一個false,就只會是警告
************************************************************************
自定義特性的理解
在自定義的類上面要把用途,用法等標明清楚。所以要藉助AttributeUsage
舉例:定義自定義特性
自定義特性的使用