zoukankan      html  css  js  c++  java
  • 用起来很方便的枚举扩展类

    因项目需要花了点时间写了个枚举扩展类,详细内容如下:

     枚举声明:

    public enum Status
    {
    [Description("邀请加入")]
    邀请加入 = 1,
    [Description("拒绝邀请")]
    拒绝邀请 = 2,
    [Description("申请加入")]
    申请加入 = 3,
    [Description("拒绝加入")]
    拒绝加入 = 4,
    [Description("同意加入")]
    同意加入 = 5,
    [Description("离开")]
    离开 = 6
    }

    调用方法:

    var temp = Convert.ToInt32(CmsRelationship.Status.同意加入); //普通使用
    var temp1 = EnumExtension.GetValue<CmsRelationship.Status>("拒绝邀请"); //调用扩展类
    var temp2 = EnumExtension.GetName<CmsRelationship.Status>(2);//调用扩展类

    扩展类方法:


    public static class EnumExtension
    {

    /// <summary>
    /// 根据枚举类型的名称,获取枚举类型的数字值
    /// </summary> 
    public static int GetValue<T>(string inputString)
    {
    try
    {
    Type enumType = typeof(T);
    var enumModel = Enum.Parse(enumType, inputString);
    var result = Convert.ToInt32(enumModel);
    return result;
    }
    catch
    {
    return 0;
    }
    }

    /// <summary>
    /// 根据枚举类型的数字值,获取枚举类型的名称
    /// </summary> 
    public static String GetName<T>(int input) 
    {
    try
    {
    var name = Enum.GetName(typeof(T), input);
    return name;
    }
    catch
    {
    return "";
    }
    }

    }

  • 相关阅读:
    get和post区别
    cookie和session的区别
    节流和防抖
    eval()
    三次握手和四次挥手
    HTTP状态码
    AMD规范与CMD规范的区别?
    深拷贝和浅拷贝
    逆人性的人类出现,正常合理竞争该何去何从
    TestNG并发执行测试总结
  • 原文地址:https://www.cnblogs.com/ushou/p/5666425.html
Copyright © 2011-2022 走看看