在C#中,可以使用GetCustomAttributes方法來獲取成員的屬性。該方法可以用于獲取指定成員(如類、屬性或方法)上的自定義屬性。
以下是一個示例,演示如何使用GetCustomAttributes方法獲取一個類的自定義屬性:
using System;
using System.Reflection;
// 定義一個自定義屬性
[AttributeUsage(AttributeTargets.Class)]
public class CustomAttribute : Attribute
{
public string Name { get; set; }
public CustomAttribute(string name)
{
Name = name;
}
}
// 應用自定義屬性
[CustomAttribute("MyClass")]
public class MyClass
{
public void MyMethod() { }
}
class Program
{
public static void Main()
{
// 獲取 MyClass 類上的所有自定義屬性
CustomAttribute[] attributes = (CustomAttribute[])Attribute.GetCustomAttributes(typeof(MyClass), typeof(CustomAttribute));
// 輸出自定義屬性的值
foreach (CustomAttribute attribute in attributes)
{
Console.WriteLine($"Custom Attribute Name: {attribute.Name}");
}
}
}
在上面的示例中,我們創建了一個名為CustomAttribute
的自定義屬性,并將其應用于MyClass
類。然后,在Main
方法中,我們使用GetCustomAttributes
方法獲取MyClass
類上的所有自定義屬性,并輸出其中的屬性值。