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