使用屬性擴充中繼資料

如果您使用過 C++,大概已經熟悉包含關鍵字 (例如 public 和 private) 的宣告,這些關鍵字會提供有關類別成員的額外資訊。 這些關鍵字藉著描述它們提供給其他類別的存取範圍更進一步定義類別成員的行為。 因為編譯器 (Compiler) 明確地設計為辨識預先定義的關鍵字,您沒有機會依照傳統建立您自已的關鍵字。 然而,Common Language Runtime 允許您加入類似關鍵字的描述性宣告,稱為屬性 (Attribute),以註解程式設計項目例如型別、欄位、方法和屬性 (Property)。

當您編譯您的執行階段程式碼時,它被轉換成 Microsoft Intermediate Language (MSIL) 並與編譯器產生的中繼資料一起放置在可攜式執行檔 (PE) 中。 屬性允許您將額外的描述資訊置入中繼資料,其可使用執行階段反映服務來擷取。 編譯器會在您宣告衍生自 System.Attribute 之特殊類別的執行個體時建立屬性。

.NET Framework 會針對各種原因使用屬性並且以之應付一些問題。 屬性描述如何序列化 (Serialize) 資料、指定用以強制安全性的特性,和限制 Just-in-Time (JIT) 編譯器的最佳化程度,以便保持程式碼易於偵錯的狀況。 屬性也可記錄檔案名稱或程式碼作者,或在表單開發期間控制控制項和成員的可視性。

您可以使用屬性以任何您能想到的方式來描述您的程式碼,和以具創意的新方式來影響執行階段行為。 屬性可讓您將自己的描述性項目加入至 C#、Visual C++、Microsoft Visual Basic 2005 或任何其他以執行階段為目標的語言中,而不需要重新撰寫您的編譯器。

相關主題

標題

說明

套用屬性

描述如何套用屬性至您程式碼的項目。

撰寫自訂屬性

描述如何設計自訂屬性類別。

擷取儲存於屬性中的資訊

描述如何針對載入執行內容中的程式碼擷取自訂屬性。

中繼資料和自我描述元件

提供中繼資料的概觀和描述在 .NET Framework 可攜式執行檔 (PE) 中如何實作它。

HOW TO:將組件載入僅限反映的內容

說明如何擷取僅限反映的內容中的自訂屬性資訊。

參考

System.Attribute