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 に答える