慎用Enum的ToString

原创 2007年09月29日 13:08:00
慎用Enum的ToString

Enum.ToString() 由 .NET Compact Framework 支持。 
将此实例的值转换为其等效的字符串表示。 

我们常在开发中常用到自定义枚举类型,在某些情况下会用到ToString方法使开发变的便捷
举例:

enum MyEnum
{
    Red,
    Blue,
    Green
}
==========================================================
String prefix = "Prefix";
String postfix = "Postfix";

// tmpEnum 为枚举变量
MyEnum tmpEnum = MyEnum.Red;

String result = prefix + tmpEnum.ToString() + postfix;

这样就可以轻易的组合出所需要的string,但是我们没考虑如下情况:
当程序发布时,要对程序进行混淆处理的,如果该枚举为非public的话,就会被混淆器处理,变成象下面的代码:
enum A
{
    a,
    b,
    c
}
所以在需要用的枚举类型的ToString方法的时候,最好定义一个转换函数,如下:

string MyEnumToString(MyEnum val)
{
    string tmpStr = string.Empty; 
    switch(val) 
    { 
        case MyEnum.Red: 
        tmpStr = "Red"; 
        break; 
        …... 
    } 
    return tmpStr;

 

慎用mysql的enum字段

最近设计自己毕业设计项目的mysql数据库表,起先看了一些数据库设计结构优化推荐表示状态的字段使用enum.在我差不多都决定好时,看了下面这篇博客果断弃用了= = 个人总结: 1.enum 是My...

C# : Enum and overriding ToString on it

I saw two posts on Enums today on Eric Lipperts and Chris Rathjen's blog. Enums are significantly di...

C++中慎用逐位拷贝(bitwise copy)的函数

1.简单介绍C语言中的memcpy(),memset(),memcmp()函数   memcpy(),memset(),memcmp()等这些内存操作函数经常会帮我们完成一些数据复制、赋值等操作。因...

MongoDB管理:慎用local、admin数据库

MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。 慎用local数据库 lo...

ug9.0布局请慎用

  • 2015年06月30日 21:28
  • 879KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:慎用Enum的ToString
举报原因:
原因补充:

(最多只允许输入30个字)