首页 > 其他 > 详细

Enum变量值的Discretion

时间:2014-03-11 21:39:20      阅读:409      评论:0      收藏:0      [点我收藏+]

有些时候,某个方法的返回值是个枚举类型,比如描述登录结果:

1
2
3
4
5
public enum LoginResult
{
    Success,
    WrongPassword,
}

当前段UI获取到登陆方法的返回结果时,就需要告诉用户登录是否成功、什么原因失败的。如果直接使用 ToString() 方式直接返回枚举变量的名称,显然不合适。通常的做法是使用各 switch 来转换,弊端是要写过多的代码;或者构造一个 string[] msg ,再根据 LoginResult 的 int 值来相应的取,弊端是类型的int值必须是连续的或者 string[] msg 的个数大于或等于 枚举类型的最大 int 值 ,一一对应起来也比较麻烦 。

方法一:

bubuko.com,布布扣

方法二:
在 枚举类型 Enum 中,不支持 DisplayNameAttribute,但支持 DescriptionAttribute ,所以要从 DescriptionAttribute 入手。写一个通用方法,取出 DescriptionAttribute 即可。当然,为了使用方便,我们使用 .NET 3.5+ 支持的 扩展方法来实现:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

调用

bubuko.com,布布扣

Enum变量值的Discretion,布布扣,bubuko.com

Enum变量值的Discretion

原文:http://www.cnblogs.com/wangcq/p/3593555.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!