在C#中自定義Attribute可以通過創建一個繼承自System.Attribute
類的新類來實現。下面是一個簡單的示例代碼:
using System;
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
public class CustomAttribute : Attribute
{
public string Description { get; set; }
public CustomAttribute(string description)
{
Description = description;
}
}
public class MyClass
{
[CustomAttribute("This is a custom attribute")]
public void MyMethod()
{
Console.WriteLine("Executing MyMethod");
}
}
class Program
{
static void Main()
{
MyClass myClass = new MyClass();
var method = typeof(MyClass).GetMethod("MyMethod");
var attribute = (CustomAttribute)Attribute.GetCustomAttribute(method, typeof(CustomAttribute));
if (attribute != null)
{
Console.WriteLine(attribute.Description);
}
myClass.MyMethod();
}
}
在以上示例中,我們首先定義了一個名為CustomAttribute
的自定義屬性類,并在其構造函數中初始化一個Description
屬性。然后,我們在MyMethod
方法上應用了這個自定義屬性。在Main
方法中,我們使用Attribute.GetCustomAttribute
方法來獲取MyMethod
方法上的CustomAttribute
屬性,并打印出其Description
屬性的值。
這是一個簡單的示例,你可以根據自己的需求擴展自定義屬性的功能和用法。