温馨提示×

C#中GetCustomAttributes如何获取成员属性

c#
小樊
177
2024-08-19 13:11:30
栏目: 编程语言

在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类上的所有自定义属性,并输出其中的属性值。

0