首页 > 解决方案 > 如何从 C# 中的静态字段获取描述属性

问题描述

我有这样的课

public class AppFlags
{
    [Description("title")]
    public static bool ShouldRemoveTitle = false;
}

我想获取字段 ShouldRemoveTitle 的描述属性值“title”。如何以快速的方式做到这一点。

我在这里看到了一个解决方案,但它必须复制字段名称“ShouldRemoveTitle”作为参数,这使得函数很难使用 从 Const Fields 提取描述属性

标签: c#system.reflection

解决方案


这与任何其他领域相同。只需将 BindingFlag 设置为静态

var attribute = typeof(AppFlags)
   .GetField("ShouldRemoveTitle", BindingFlags.Public | BindingFlags.Static)
   ?.GetCustomAttribute<DiscriptionAttribute>(true);
string text = attribute?.Description;

推荐阅读