慎用Enum的ToString

    技术2022-05-11  69

    慎用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; }   

    最新回复(0)