0

一个枚举从服务层返回,带有 4 个选项中的 1 个选项,并且正在使用 case 语句在我的 Web 代码中处理它。我想我会在几个地方做这件事,并有一些设计模式。现在基于 Enum 中的每个值,我正在返回一个 string 。为每个枚举创建一个类似乎是一种矫枉过正。处理这个问题的最佳方法是什么

4

1 回答 1

0

您不需要为每个枚举值创建一个新的子类,您可以拥有同一个类的多个实例,每个值一个:

public class MyEnumType {
  private readonly string value;

  private MyEnumType(string value) {
    this.value = value;
  }

  public string Value {
    get { return value; }
  }

  public static readonly MyEnumType ValueA = new MyEnumType("foo");
  public static readonly MyEnumType ValueB = new MyEnumType("bar");
  ...
}
于 2012-08-11T22:50:09.070 回答