zoukankan      html  css  js  c++  java
  • 枚举操作笔记

    public static class EnumHelper
    {

    //获得描述信息
    public static string GetDescription(Enum value)
    {
    if (value == null)
    {
    throw new ArgumentException("value");
    }
    string description = value.ToString();
    var fieldInfo = value.GetType().GetField(description);
    var attributes =
    (EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EnumDescriptionAttribute), false);
    if (attributes != null && attributes.Length > 0)
    {
    description = attributes[0].Description;
    }
    return description;
    }
    }

    [AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
    public sealed class EnumDescriptionAttribute : Attribute
    {
    private string description;
    public string Description { get { return description; } }

    public EnumDescriptionAttribute(string description)
    : base()
    {
    this.description = description;
    }
    }

    public enum ArchiveMode
    {
    [EnumDescription("自动归档")]
    Auto,
    [EnumDescription("手动归档")]
    Manual
    }

    public enum test
    {
    自动=1,
    手动=2
    }

    //增加扩展方法的类

    public static class EnumFactory
    {

    public static void EnumCreater(this ArchiveMode mode)

    {
    mode.EnumCreater();
    }
    }

    public enum TaskExecStatus
    {
    [EnumDescription("任务执行未归档")]
    unExecute,
    [EnumDescription("任务执行归档成功")]
    Success,
    [EnumDescription("任务执行归档失败")]
    Fail,
    }

    public enum ArchDocStatus
    {
    [EnumDescription("文件未下载")]
    unDownload,
    [EnumDescription("文件下载成功")]
    Success,
    [EnumDescription("文件下载失败")]
    Fail,
    }

    public enum ArchItemStatus
    {
    [EnumDescription("条目未归档")]
    unArchive,
    [EnumDescription("条目归档成功")]
    ArchiveSuccess,
    [EnumDescription("条目归档失败")]
    ArchiveFail,
    }

    public enum ArchExecInfo
    {
    [EnumDescription("全部成功")]
    ExecSuccess,
    [EnumDescription("全部失败")]
    ExecFail,
    [EnumDescription("部分成功")]
    ExecNotAllSuccess,
    }

  • 相关阅读:
    # IDEA使用技巧
    # 分治算法实例代码
    # 蓝桥杯—开关问题
    PAT 甲级测试题目 -- 1011 World Cup Betting
    PAT 甲级测试题目 -- 1010 Radix
    PAT 甲级测试题目 -- 1009 Product of Polynomials
    PAT 甲级测试题目 -- 1008 Elevator
    PAT 甲级测试题目 -- 1007 Maximum Subsequence Sum
    PAT 甲级测试题目 -- 1006 Sign In and Sign Out
    PAT 甲级测试题目 -- 1005 Spell It Right
  • 原文地址:https://www.cnblogs.com/baoku/p/4977112.html
Copyright © 2011-2022 走看看