**
c#的特性學習
特性分爲三種
1:AttributeUsage( AttributeUsage 描述瞭如何使用一個自定義特性類。它規定了特性可應用到的項目的)
具體如下
[AttributeUsage(
validon,
AllowMultiple=allowmultiple,
Inherited=inherited
)]
參數 validon 規定特性可被放置的語言元素。它是枚舉器 AttributeTargets 的值的組合。默認值是 AttributeTargets.All。
參數 allowmultiple(可選的)爲該特性的 AllowMultiple 屬性(property)提供一個布爾值。如果爲 true,則該特性是多用的。默認值是 false(單用的)。
參數 inherited(可選的)爲該特性的 Inherited 屬性(property)提供一個布爾值。如果爲 true,則該特性可被派生類繼承。默認值是 false(不被繼承)。
2.Conditional(這個預定義特性標記了一個條件方法,其執行依賴於指定的預處理標識符。
它會引起方法調用的條件編譯,取決於指定的值,比如 Debug 或 Trace。例如,當調試代碼時顯示變量的值。)
語法如下
[Conditional(
conditionalSymbol
)]
3.Obsolete(這個預定義特性標記了不應被使用的程序實體。它可以讓您通知編譯器丟棄某個特定的目標元素。例如,當一個新方法被用在一個類中,但是您仍然想要保持類中的舊方法,您可以通過顯示一個應該使用新方法,而不是舊方法的消息,來把它標記爲 obsolete(過時的)。)
[Obsolete(
message
)]
[Obsolete(
message,
iserror
)]
參數 message,是一個字符串,描述項目爲什麼過時以及該替代使用什麼。
參數 iserror,是一個布爾值。如果該值爲 true,編譯器應把該項目的使用當作一個錯誤。默認值是 false(編譯器生成一個警告)
**