将枚举设置为C#类中的另一个枚举

时间:2016-07-26 20:57:25

标签: c# .net class enums

我目前正在开发一个使用相当数量枚举的C#程序。它的组织方式使得一个类包含许多枚举,并且这些类中有几个。但是,两个枚举在两者之间是相同的 - 出于组织目的,拥有一种'SharedEnums'类会很好,然后做这样的事情:

public class FirstEnumCollection {
    public enum Fruits = SharedEnums.Fruits;
    //insert non-shared enums here
}

public class FirstEnumCollection {
    public enum Fruits = SharedEnums.Fruits;
    //insert non-shared enums here
}

public class SharedEnums { 
    public enum Fruits {
        Apple,
        Pear
    }
}

这样,我们不会在类之间多次声明相同的枚举,并且更改共享枚举将更改两个类中的枚举。我没有运气就尝试了几个不同的例子,我很确定它无法完成,但想要确认。

2 个答案:

答案 0 :(得分:5)

enum不需要“属于”某个类。你可以在任何类之外声明它:

public enum Fruits {
    Apple,
    Pear
}

然后在任何课程中使用它。

答案 1 :(得分:1)

可以在命名空间范围定义枚举,不需要在类中创建枚举。您可以想象一个类似于结构或类的枚举,它是您可以在代码中使用的类型。因此,在命名空间范围内定义它

namespace MyCode
{
    public enum Days { M, T, W, T, F, Sa, Su }
}