转自:http://www.cnblogs.com/sukyboor/archive/2006/04/22/382173.html
定义枚举成员的时候经常很犯愁.那就是怎么显示的问题.你说成员名称用中文吧
好象显的不够专业,毕竟中文在程序开发了是弱势语言.
让枚举成员显示出中文信息(转)public enum SexEnum 
让枚举成员显示出中文信息(转)
让枚举成员显示出中文信息(转)      男 
= 0,
让枚举成员显示出中文信息(转)       女 
让枚举成员显示出中文信息(转)
如果向上面这样写的话,极容易被bs,所以在很多时候看到同事们是这么写的
让枚举成员显示出中文信息(转)public enum SexEnum 
让枚举成员显示出中文信息(转)
让枚举成员显示出中文信息(转)      men 
= 0,
让枚举成员显示出中文信息(转)       women
让枚举成员显示出中文信息(转)
这样写也不行啊,如果显示出来的时候,会显示          性别: women 如果把这样的软件给客户用.准能把客户气吐血.
于是又在这个基础上加个转换函数 GetSexEnumCnName
让枚举成员显示出中文信息(转)//获取性别类型的中文名称
}
那还有没有别的解决方法?
昨天晚上为了给aps加上显示功能,我想到了个比较偷巧的解决方法
一、给枚举类型的各个枚举值加上自定义属性
二、要显示的时候就获得枚举自定义属性
实现方法如下:
让枚举成员显示出中文信息(转)    using System;
让枚举成员显示出中文信息(转)    
using System.Collections;
让枚举成员显示出中文信息(转)    
using System.ComponentModel;
让枚举成员显示出中文信息(转)    
using SPL.Persister.Attributes;
让枚举成员显示出中文信息(转)    
让枚举成员显示出中文信息(转)    
    }
Description是System.ComponentModel上自定义的属性.用于指定属性或事件的说明
好了,接下来是显示的工作了.
        }
使用方法
让枚举成员显示出中文信息(转)         //显示性别
让枚举成员显示出中文信息(转)
         lbSex.Text = GetEnumDescription(SexEnum.man);
让枚举成员显示出中文信息(转)
让枚举成员显示出中文信息(转)
让枚举成员显示出中文信息(转)
让枚举成员显示出中文信息(转)    
//用下拉列表框显示性别类型                
让枚举成员显示出中文信息(转)
    DropDownList ddl =new DropDownList();
让枚举成员显示出中文信息(转)    
foreach(object e in Enum.GetValues(typeof(SexEnum)))                        
让枚举成员显示出中文信息(转)        ddl.Items.Add(
new ListItem( GetEnumDescription(e),((int)e).ToString()));
看到这里也许有人该问了?性能问题如何解决?我这里提一个方法把"SexEnum.man"作为key,把dscript 缓存起来.................这个简单吧,具体实现我就不写了

百足之虫,死而不僵

相关文章:

  • 2021-10-08
  • 2021-10-11
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-21
  • 2022-12-23
猜你喜欢
  • 2021-10-14
  • 2022-12-23
  • 2021-08-01
  • 2021-09-16
  • 2021-08-07
  • 2022-03-05
相关资源
相似解决方案