【发布时间】:2011-09-24 14:00:18
【问题描述】:
我有一个枚举,我们称它为 A:
public enum A
{
A,
B
}
我有一个接受枚举 A 的函数:
public void functionA(A enumA)
{
//do something
}
如何创建另一个枚举,可能调用 B,我可以传递给 functionA?像这样?
public enum B
{
C
}
functionA(B.C);
我知道您不能扩展枚举,但我还有哪些其他可用选项?实现这一目标的最佳方法是什么?
【问题讨论】:
-
您希望通过这样做来实现什么?
functionA采用A参数的原因是因为它只需要这些值。假设您可以以某种方式欺骗它从扩展枚举中获取另一个值。该函数如何知道如何处理它? -
我正在尝试添加一个与现有枚举类似的新枚举,但添加值也没有意义。我希望我根本不需要修改函数来处理它。
-
请更具体。讨论一下这个函数实际上做了什么,实际的枚举值是什么,以及为什么新的枚举应该由同一个函数处理会有所帮助。