Ser*_*mur 5 c# enums namespaces class difference
我有一个关于枚举的问题,代码如下:
namespace space
{
public enum MyEnums
{
Enum1,Enum2,...
}
}
namespace space
{
public class MyClass
{
public enum MyEnums
{
Enum1,Enum2,...
}
}
}
Run Code Online (Sandbox Code Playgroud)
有什么区别以及如何使用它们?
从语法上讲,唯一的区别是您将使用包含类作为枚举类型的开头:
MyClass.MyEnums.Enum1
Run Code Online (Sandbox Code Playgroud)
与只是
MyEnums.Enum1
Run Code Online (Sandbox Code Playgroud)
(在这两种情况下,都假定命名空间被using指令覆盖)
但是,在类中包含它也可以让您以不同的方式应用可访问性 - 您可以拥有一个private仅在该类中可用的枚举,而命名空间中的枚举必须是public或internal。