本文介绍了在类级别获取描述属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的课程

[Description("This is a wahala class")]
public class Wahala
{

}

反正有没有要获取Wahala类的Description属性的内容?

Is there anyway to get the content of the Description attribute for the Wahala class?

推荐答案

绝对-使用Type.GetCustomAttributes.示例代码:

Absolutely - use Type.GetCustomAttributes. Sample code:

using System;
using System.ComponentModel;

[Description("This is a wahala class")]
public class Wahala
{    
}

public class Test
{
    static void Main()
    {
        Console.WriteLine(GetDescription(typeof(Wahala)));
    }

    static string GetDescription(Type type)
    {
        var descriptions = (DescriptionAttribute[])
            type.GetCustomAttributes(typeof(DescriptionAttribute), false);

        if (descriptions.Length == 0)
        {
            return null;
        }
        return descriptions[0].Description;
    }
}

同类代码可以检索其他成员的描述,例如字段,属性等.

The same kind of code can retrieve descriptions for other members, such as fields, properties etc.

这篇关于在类级别获取描述属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 21:56