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