AttributeUsage是C#中的一個特性類,用于定義自定義屬性的使用方式。
AttributeUsage的構造函數有一個參數,即AttributeTargets枚舉類型。AttributeTargets枚舉定義了自定義屬性可以應用于的目標對象,如類、方法、屬性等。
以下是AttributeUsage的幾個常用的使用方式:
[AttributeUsage(AttributeTargets.Class)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}
在這個示例中,CustomAttribute只能應用于類。
[AttributeUsage(AttributeTargets.Method)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}
在這個示例中,CustomAttribute只能應用于方法。
[AttributeUsage(AttributeTargets.Property)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}
在這個示例中,CustomAttribute只能應用于屬性。
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}
在這個示例中,CustomAttribute可以應用于類和方法。
需要注意的是,AttributeUsage還有兩個可選的命名參數:Inherited和AllowMultiple。Inherited表示派生類是否繼承該特性,默認值為true;AllowMultiple表示一個目標對象是否可以應用多次該特性,默認值為false。