获得枚举的信息

2014-07-13 10:06:28  访问(3100) 赞(0) 踩(0)

实现代码


        /// <summary>
        /// 获得枚举的类全名
        /// </summary>
        /// <param name="em"></param>
        /// <returns></returns>
        public string GetEnumClassNameMessage(System.Enum em)
        {
            return em.GetType().FullName + "." + em.ToString();
        }


调用示例


    /// <summary>
    /// 打印枚举信息
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_GetEnumClassNameMessage_Click(object sender, EventArgs e)
    {
        Response.Write
            (
                SlowXWebKnowledgeBLL.instance.GetEnumClassNameMessage
                    (
                        SlowX.WebKnowledge.Enums.UserRole.EmUserRole.部门领导
                    )
            );
    }

输出结果

SlowX.WebKnowledge.Enums.UserRole+EmUserRole.部门领导

应用示例代码


    /// <summary>
    /// 抛出异常的DEMO,通常在swich代码中,用于抛出异常提示。下面例子对枚举“普通职员”抛出对应的代码尚未实现的异常提示。
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn_ThrowException_Click(object sender, EventArgs e)
    {
        GetEnumTip(SlowX.WebKnowledge.Enums.UserRole.EmUserRole.普通职员);
    }

    /// <summary>
    /// 获得枚举提示
    /// </summary>
    /// <param name="em"></param>
    /// <returns></returns>
    protected string GetEnumTip(SlowX.WebKnowledge.Enums.UserRole.EmUserRole em)
    {
        switch (em)
        {
            case SlowX.WebKnowledge.Enums.UserRole.EmUserRole.管理员:
                return "<font color='red'>" + em.ToString() + "</font>";
            case SlowX.WebKnowledge.Enums.UserRole.EmUserRole.总经理:
                return "<font color='green'>" + em.ToString() + "</font>";
            case SlowX.WebKnowledge.Enums.UserRole.EmUserRole.部门领导:
                return "<font color='blue'>" + em.ToString() + "</font>";
            case SlowX.WebKnowledge.Enums.UserRole.EmUserRole.普通职员:
            default:
                throw new Exception
                    (
                        "方法:" + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName
                        + " "
                        + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                        + " 发生异常:枚举"
                        + em.GetType().FullName + "." + em.ToString()
                        + "尚未实现。"
                    );
        } 
    } 

应用示例输出结果

方法:WebForms_WebPages_knowledges_common_SystemEnum_EnumDemo_Default System.String GetEnumTip(EmUserRole) 发生异常:枚举SlowX.WebKnowledge.Enums.UserRole+EmUserRole.普通职员尚未实现。

标签:枚举信息    ClassName    ToString    抛出异常 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)