can Enum contains other Enum?

c#, enums, ienumerable, silverlight

Solution

Sadly no, there's no good solution for what you want using enums. There are other options you can try, such as a series of `public static readonly` fields of a particular "enum-like" type:

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();
}

In practice, this can work mostly as well, albeit without `switch` statement support. Usage might be like:

var cardSuit = ...;
if (cardSuit == CardSuit.Spades || cardSuit == GameSuit.Suns) { ... }

Problem

Can Enum contains other Enum elements along with its own elements ? ``` public enum CardSuit { spades, hearts, diamonds, clubs } public enum GameSuit { spades, // These are hearts, // the same diamonds, // " CardSuit " clubs, // elements suns // " GameSuit " special element } ``` Can we include CardSuit in GameSuit without redundant retyping same elements ?

Original source

Related problems