创造一个微不足道的课程?

时间:2012-08-11 20:55:42

标签: asp.net-mvc design-patterns

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

1 个答案:

答案 0 :(得分: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");
  ...
}