要自定義一個C# Attribute,可以按照以下步驟進行:
using System;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class CustomAttribute : Attribute
{
public string Name { get; }
public CustomAttribute(string name)
{
Name = name;
}
}
定義一個AttributeUsage特性來指定你的Attribute可以應用到哪些地方,比如類、方法等。在上面的例子中,我們定義了CustomAttribute可以應用到類和方法上。
在需要使用自定義Attribute的地方,直接在類或者方法上使用你定義的Attribute類。
[CustomAttribute("Example")]
public class MyClass
{
[CustomAttribute("Method")]
public void MyMethod()
{
// do something
}
}
// 獲取類上的自定義Attribute
CustomAttribute classAttribute = (CustomAttribute)Attribute.GetCustomAttribute(typeof(MyClass), typeof(CustomAttribute));
Console.WriteLine(classAttribute.Name);
// 獲取方法上的自定義Attribute
CustomAttribute methodAttribute = (CustomAttribute)Attribute.GetCustomAttribute(typeof(MyClass).GetMethod("MyMethod"), typeof(CustomAttribute));
Console.WriteLine(methodAttribute.Name);
通過以上步驟,你就可以自定義一個C# Attribute,并在需要的地方使用它。