Ahm*_*eim 5 c# silverlight ienumerable enums
Enum 可以包含其他 Enum 元素加上它自己的元素吗?
public enum CardSuit
{
spades,
hearts,
diamonds,
clubs
}
public enum GameSuit
{
spades, // These are
hearts, // the same
diamonds, // " CardSuit "
clubs, // elements
suns // " GameSuit " special element
}
Run Code Online (Sandbox Code Playgroud)
我们可以在 GameSuit 中包含 CardSuit 而不重复输入相同的元素吗?
遗憾的是,没有,使用枚举没有很好的解决方案来满足您的需求。public static readonly您还可以尝试其他选项,例如特定“类似枚举”类型的一系列字段:
public class CardSuit
{
public static readonly CardSuit Spades = new CardSuit();
public static readonly CardSuit Hearts = new CardSuit();
...
}
public enum GameSuit : CardSuit
{
public static readonly GameSuit Suns = new GameSuit();
}
Run Code Online (Sandbox Code Playgroud)
在实践中,尽管没有switch声明支持,但大多数情况下这也是可行的。用法可能是这样的:
var cardSuit = ...;
if (cardSuit == CardSuit.Spades || cardSuit == GameSuit.Suns) { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2745 次 |
| 最近记录: |