溫馨提示×

C#的自定義屬性AttributeUsage用法

c#
小云
98
2023-08-05 18:53:57
欄目: 編程語言

AttributeUsage是C#中的一個(gè)特性類,用于定義自定義屬性的使用方式。

AttributeUsage的構(gòu)造函數(shù)有一個(gè)參數(shù),即AttributeTargets枚舉類型。AttributeTargets枚舉定義了自定義屬性可以應(yīng)用于的目標(biāo)對象,如類、方法、屬性等。

以下是AttributeUsage的幾個(gè)常用的使用方式:

  1. 應(yīng)用于類:
[AttributeUsage(AttributeTargets.Class)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}

在這個(gè)示例中,CustomAttribute只能應(yīng)用于類。

  1. 應(yīng)用于方法:
[AttributeUsage(AttributeTargets.Method)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}

在這個(gè)示例中,CustomAttribute只能應(yīng)用于方法。

  1. 應(yīng)用于屬性:
[AttributeUsage(AttributeTargets.Property)]
public class CustomAttribute : Attribute
{
// 屬性的定義
}

在這個(gè)示例中,CustomAttribute只能應(yīng)用于屬性。

  1. 應(yīng)用于多個(gè)目標(biāo)對象:
[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。

0