C#在命名空间中枚举的枚举比在类中的枚举有什么不同

时间:2014-07-16 15:08:37

标签: c# class enums namespaces difference

我对以下代码的枚举有疑问:

namespace space
{
    public enum MyEnums
    {
        Enum1,Enum2,...
    }
}

namespace space
{
    public class MyClass
    {
        public enum MyEnums
        {
            Enum1,Enum2,...
        }
    }
}

有什么区别以及如何使用它们?

1 个答案:

答案 0 :(得分:3)

语法上唯一不同的是你在enum类型前加上包含的类:

MyClass.MyEnums.Enum1 

相对
MyEnums.Enum1 

(在两种情况下,假定命名空间都被using指令覆盖)

但是,在类中包含它也允许您以不同方式应用可访问性 - 您可以拥有仅在该类中可用的private枚举,而命名空间中的枚举必须是publicinternal