首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在C#中的属性或const上访问Description属性?

在C#中,可以使用反射来访问属性或const上的Description属性。以下是一个示例:

代码语言:csharp
复制
using System;
using System.ComponentModel;
using System.Reflection;

public class Example
{
    public const string MyConst = "MyConstValue";

    [Description("This is a property description")]
    public string MyProperty { get; set; }
}

public class Program
{
    public static void Main()
    {
        // 获取MyConst的Description
        var myConstField = typeof(Example).GetField(nameof(Example.MyConst));
        var myConstDesc = GetDescription(myConstField);
        Console.WriteLine($"Description of MyConst: {myConstDesc}");

        // 获取MyProperty的Description
        var myProperty = typeof(Example).GetProperty(nameof(Example.MyProperty));
        var myPropertyDesc = GetDescription(myProperty);
        Console.WriteLine($"Description of MyProperty: {myPropertyDesc}");
    }

    private static string GetDescription(MemberInfo member)
    {
        var descAttr = member.GetCustomAttribute<DescriptionAttribute>();
        return descAttr?.Description;
    }
}

在这个示例中,我们定义了一个名为Example的类,其中包含一个const和一个属性。我们使用反射来获取这些成员的Description属性。我们定义了一个名为GetDescription的方法,该方法接受一个MemberInfo对象,并返回该成员的Description属性。在Main方法中,我们分别获取MyConst和MyProperty的Description属性,并将其打印到控制台上。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券