我需要在几个类中定义枚举来表示每个类的可用操作。 。现在我想知道处理这个问题的最佳方法是什么?
1)创建单独的枚举
public enum Foo {Insert, Update, Delete , Select };
public enum Bar {Insert, Select };
2)或对所有人使用一般enum
public enum FooBar {Insert, Update, Delete , Select};
编辑:我想在类方法参数
中使用此枚举public void MethodOne(Foo action){ ...}
答案 0 :(得分:0)
答案应来自您的域名 - 无所不在的语言
但是,如果你为每个类实现一个新的枚举,我认为你会遇到麻烦,这种方法容易出错,而且会让你的开发人员感到困惑。现在想象一下将来必须维护代码的穷人......
如果你坚持使用枚举,我认为最好创建一个名为Actions
的单个枚举,并在整个应用程序中一致地使用它
如果您想要更优雅的解决方案,我建议您考虑State pattern
答案 1 :(得分:0)
您可以使用继承来定义您的枚举 - 至少是一种。
试试这个:
public class Bar
{
public static readonly int Insert = 1;
public static readonly int Select = 2;
}
public class Foo : Bar
{
public static readonly int Update = 3;
public static readonly int Delete = 4;
}
您仍然使用类似枚举的代码 - Bar.Insert
或Foo.Select
或Foo.Delete
。
这有帮助吗?