試想一下,在代碼中如何給調用者提示所調用的方法並不是最優的,它可以被一個更好的方法所替代?通常來說,你可以使用Obsolete特性來標記該方法是一個被荒棄的方法。本文講述如何使用Obsolete特性及其相關內容。
Obsolete attribute位於System命名空間,它是一個attribute類型,以Obsolete或者ObsoleteAttribute來指定attribute類型都是允許的,在編譯時,會自動添加上 “Attribute” 后綴。
指定一個attribute,用方括號[]圍起所期望的attribute,置於所要修飾的方法、接口、屬性、委托、事件等語言元素之前。對於Obsolete attribute,還可以為其指定0、1或2個參數。
示例
using System; class Program { static void Main() { MethodA(); } [Obsolete("Use MethodB instead")] static void MethodA() { } }
該程序在編譯時會產生警告消息:警告 1 “Program.MethodA()”已過時:“Use MethodB instead” 。
對於C#中的其它構造器,用同樣的方法來使用Attributes。Obsolete attribute可以不含參數;可以含一個參數,用以產生一個編譯警告信息;也可以含兩個參數,第一個參數用以產生編譯警告/錯誤時的提示信息,第二個參數用以指定處理方式(true:產生編譯錯誤;false:產生編譯警告)。
對於有不同版本的程序代碼,obsolete attribute顯得大有用武之地。如果開發了一個新的方法,並且可以確定不再希望使用某方法,那么就可以使用Obsolete attribute來修飾該方法,編譯代碼后,按警告/錯誤提示信息逐一更正原來的代碼。在一個大型工程中,有助於協調不同的程序員所采用的方法。\
出處:http://www.cnblogs.com/hans_gis/archive/2011/11/19/2255592.html