C#名称空间中的枚举与类中的枚举有什么区别
我有一个关于枚举的问题,代码如下:C#名称空间中的枚举与类中的枚举有什么区别,c#,class,enums,namespaces,difference,C#,Class,Enums,Namespaces,Difference,我有一个关于枚举的问题,代码如下: namespace space { public enum MyEnums { Enum1,Enum2,... } } namespace space { public class MyClass { public enum MyEnums { Enum1,Enum2,... } } } 区别是什么以及如何使用它们?从语法
namespace space
{
public enum MyEnums
{
Enum1,Enum2,...
}
}
namespace space
{
public class MyClass
{
public enum MyEnums
{
Enum1,Enum2,...
}
}
}
区别是什么以及如何使用它们?从语法上讲,唯一的区别是您要在枚举类型前面加上包含的类:
MyClass.MyEnums.Enum1
对正义
MyEnums.Enum1
(在这两种情况下,都假定名称空间由using
指令覆盖)
但是,在类中包含它也可以让您以不同的方式应用可访问性-您可以有一个仅在该类中可用的
private
enum,虽然命名空间中的枚举必须是public
或internal
1-作用域2-嵌套枚举可以是私有的,但唯一的区别在于代码的可维护性。枚举是一种类型,就像类或接口一样。更具体地说,它是一种值类型,类似于结构。同样的规则也适用于嵌套。好的编程规则,我更喜欢使用什么?第一个作用域还是第二个作用域?如果枚举仅在一个类的上下文中有效,则将其作为该类的一部分是可以的(并且可能有助于命名空间-绝大多数枚举不在类内)。