获取Enum而无需键入其类名?

我注意到在C#中,当我有一个Enum时,说:

class ClassObject { public static Enum EventType = {Click, Jump, Etc}; } 

当我必须访问它时,我必须通过它的主类,它非常冗长。 例如:

 ClassObject.EventType.Click 

我希望我能以更短的方式访问它,比如说: EventType.Click ,将允许我得到它。

所以我认为我可以尝试创建一个单独的类并从Enum扩展它:

 class EventType : Enum { Click, Jump, Etc; } 

但是,我收到了这个语法错误。

实际上,为此目的创建另一个单独的课程有点麻烦,我甚至不知道这是不是一个好习惯。 但理想情况下,我只想缩短名称,并且可能避免在访问枚举之前必须键入类名。 这可能吗?

您可以将枚举放在类的相同深度,它不必是类成员

 namespace Test { public enum EventType { Click, Jump, Etc }; class ClassObject { } } 

您正在类范围中定义Enum。 这就是你必须通过课程访问它的原因。 在课堂外定义,并从您喜欢的任何地方进行访问。 Nested Enum and classes are not directly accessible.

 public static Enum EventType = {Click, Jump, Etc}; class ClassObject { }