我注意到在C#中,当我有一个Enum时,请说:
class ClassObject {
public static Enum EventType = {Click, Jump, Etc};
}
当我必须访问它时,我必须通过它的主要类,它非常详细。例如:
ClassObject.EventType.Click
我希望我能以更短的方式访问它,说:
EventType.Click
,允许我这样做。
所以我认为我可以尝试创建一个单独的类并从Enum扩展它:
class EventType : Enum {
Click, Jump, Etc;
}
但是,我收到了这个语法错误。
实际上,为此目的创建另一个单独的课程有点麻烦,我甚至不知道这是不是一个好习惯。但理想情况下,我只想缩短名称,并且可能避免在访问枚举之前必须输入类名。这可能吗?
答案 0 :(得分:9)
你可以将枚举放在同一深度的类中,它不必是类成员
namespace Test
{
public enum EventType
{
Click,
Jump,
Etc
};
class ClassObject { }
}
答案 1 :(得分:4)
您正在类范围内定义Enum。这就是你必须通过课堂访问它的原因。在课堂外定义,并从您喜欢的任何地方进行访问。 Nested Enum and classes are not directly accessible.
public static Enum EventType = {Click, Jump, Etc};
class ClassObject {
}