第六部分 屬性3

2021-04-13 02:04:59 字數 1423 閱讀 5785

attributeusage屬性

除了用於標註常規c#型別的自定義屬性以外,還可以使用attributeusage屬性定義你使用這些屬性的方式.文件記錄的attributeusage屬性呼叫慣例如下:

[attributeusage(

validon,

allowmultiple=allowmultiple,

inherited=inherited

如你所見,識別位置引數和命名過的引數是很容易的.我們強烈建議你以這種方式對屬性進行文件記錄,這樣,屬性的使用者不必從頭到尾檢視屬性類的源**,並且可以找到作為命名過的引數使用的公共讀/寫字段和特性.

定義屬性目標

再看看attributeusage屬性,請注意validon引數是乙個位置引數,因此是必須的.這個引數用於指定屬性可以附著於哪些型別.實際上,attributeusage屬性中的validon引數是attributetagets型別的,這個列舉值的定義如下:

public enum attributetargets

assembly=0x0001,

module=0x0002,

class=0x0004,

struct=0x0008,

enum=0x0010,

constructor=0x0020,

method=0x0040,

property=0x0080,

field=0x0100,

event=0x0200,

inte***ce=0x0400,

parameter=0x0800,

delegate=0x1000,

all=assembly|module|class|struct|enum|constructor|

method|property|field|event|inte***ce|paramter|

delegate,

clas**embers=class|struct|enum|constructor|method|property|field|event|delegate|inte***ce,

在使用attributeusage屬性時可以指定attributetargets.all,這樣屬性就可以附著於attributetargets列舉中列出的任何型別.

何時以及為什麼指定validon(attributetargets)引數?如果你希望精確地控制乙個屬性的用法,就需要使用validon引數.

單次使用和多次使用的屬性

可以使用attributeusage將屬性定義為單次使用或多次使用.這個決定決定了可以在單個欄位上使用某個屬性多少次.在預設情況下,所有屬性都是單次使用的,所以編譯以下**會導致乙個編譯器錯誤;

public class somethingattribute:attribute

public somethingattribute(string str)

第六部分總結(51 54)

這一部分主要學習了jquery的節點新增 刪除 替換 複製等操作。外插 1 從後面插after insertafter 效果一樣,寫法不同 2 從前面 efore insertafter 效果一樣,寫法不同 刪除 刪除指定元素 remove detach 效果一樣,寫法不同,如li.remove i...

第六部分 分布式系統

分布式系統是一組不共享記憶體和時鐘的處理器集合,即每個處理器都有它自己的記憶體,處理器之間的通訊可通過各種網路加以實現。分布式系統 distributed system 是通過通訊網路而鬆散連線的一組處理器的集合。需要建立分布式系統的動機 資源共享 加快計算速度 可靠性通訊 網路作業系統 netwo...

第六部分 函式的工作原理一

寫這篇文章得益於我最近錢林松 趙海旭寫的新書 c 反彙編與逆向分析 一直希望學習相關的技術,但是一直沒有開始,看到此書後,激發起了我以前的興趣,最近一直在讀這本書,今日將我了解到的知識分享給大家。首先讓我們來看一段最簡單的 includevoid func int first,int second ...