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

在C#中表示参数化枚举的最佳方法?

在C#中表示参数化枚举的最佳方法是使用泛型和枚举。首先,定义一个泛型类,该类接受一个枚举类型作为参数,并提供一个方法来获取枚举值的描述。

以下是一个示例:

代码语言:csharp
复制
public class EnumDescription<T> where T : Enum
{
    public string GetDescription(T value)
    {
        var fieldInfo = value.GetType().GetField(value.ToString());
        var attributes = (DescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
        return attributes.Length > 0 ? attributes[0].Description : value.ToString();
    }
}

然后,定义一个枚举类型,并使用DescriptionAttribute为每个枚举值添加描述:

代码语言:csharp
复制
public enum Color
{
    [Description("红色")]
    Red,
    [Description("绿色")]
    Green,
    [Description("蓝色")]
    Blue
}

最后,使用EnumDescription类获取枚举值的描述:

代码语言:csharp
复制
var color = Color.Red;
var description = new EnumDescription<Color>().GetDescription(color);
Console.WriteLine(description); // 输出:红色

这种方法允许您为枚举值提供描述,并在需要时轻松地获取它们。

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

相关·内容

6分24秒

16-JSON和Ajax请求&i18n国际化/03-尚硅谷-JSON-JSON在JavaScript中两种常用的转换方法

3分54秒

PS使用教程:如何在Mac版Photoshop中制作烟花效果?

29分12秒

【方法论】持续部署&应用管理实践

55秒

PS小白教程:如何在Photoshop中制作浮在水面上的文字效果?

1时14分

应用上线要求快,企业如何低成本快速接入音视频服务?

9分19秒

036.go的结构体定义

1分7秒

PS小白教程:如何在Photoshop中给风景照添加光线效果?

1分29秒

U盘根目录乱码怎么办?U盘根目录乱码的解决方法

6分9秒

054.go创建error的四种方式

2分7秒

基于深度强化学习的机械臂位置感知抓取任务

1分41秒

养老院视频监控智能分析系统

1分37秒

智慧工厂视频监控智能分析系统

领券