4

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

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

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

ClassObject.EventType.Click

我希望我能以更短的方式访问它,比如: EventType.Click,会让我得到它。

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

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

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

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

4

2 回答 2

9

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

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

    class ClassObject { }
}
于 2012-10-20T14:54:39.030 回答
4

您正在类范围内定义枚举。这就是为什么你必须通过类来访问它。在课堂之外定义它并从您喜欢的任何地方访问。Nested Enum and classes are not directly accessible.

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

class ClassObject {

}
于 2012-10-20T14:56:51.820 回答