屬性 (C# 程式設計手冊)
更新: 2008 年 7 月
屬性 (Attribute) 提供一個有用的方法,使宣告式資訊與 C# 程式碼 (型別、方法和屬性 (Property) 等等) 產生關聯。當屬性 (Attribute) 與程式實體 (Entity) 產生關聯之後,即可在執行階段使用稱為「反映」(Reflection) 的技術來加以查詢。如需詳細資訊,請參閱反映 (C# 程式設計手冊)。
屬性會以兩種形式出現:
在 Common Language Runtime (CLR) 中定義的屬性。
可以由您建立以將額外資訊加入程式碼的自訂屬性。您稍後可以再用程式設計的方式擷取這些資訊。
在這個範例中,會使用 TypeAttributes.Serializable 屬性將特定的特性套用至類別 (Class):
[System.Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
屬性概觀
屬性 (Attribute) 有下列屬性 (Property):
屬性會將中繼資料加入至程式。中繼資料 (Metadata) 是與程式中定義之型別有關的資訊。所有 .NET 組件都內含指定的中繼資料集,用來描述組件中定義的型別和型別成員。您可以加入自訂屬性,指定其他任何必要資訊。
您的程式可以使用反映 (Reflection),檢查本身的中繼資料或其他程式內的中繼資料。如需詳細資訊,請參閱使用反映存取屬性 (C# 程式設計手冊)。
屬性 (如 MarshalAs) 常用於 COM Interop 案例中。如需詳細資訊,請參閱 System.Runtime.InteropServices.MarshalAsAttribute 和 System.Runtime.InteropServices.StructLayoutAttribute。
相關章節
如需詳細資訊,請參閱:
C# 語言規格
如需詳細資料,請參閱 C# 語言規格中的下列章節:
10.2.1 屬性
17 屬性
請參閱
概念
參考
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
更新概觀一節。 |
內容 Bug 修正。 |