英語で読む

次の方法で共有


Type.IsEnum プロパティ

定義

現在の Type が列挙体であるどうかを示す値を取得します。

C#
public virtual bool IsEnum { get; }
C#
public bool IsEnum { get; }

プロパティ値

現在の true が列挙体を表している場合は Type。それ以外の場合は false

実装

次の例では、 プロパティの使用方法 IsEnum を示します。

C#
using System;
public enum Color
{ Red, Blue, Green }

class TestIsEnum
{
    public static void Main()
    {
       Type colorType = typeof(Color);
       Type enumType = typeof(Enum);
       Console.WriteLine("Is Color an enum? {0}.", colorType.IsEnum);
       Console.WriteLine("Is Color a value type? {0}.", colorType.IsValueType);
       Console.WriteLine("Is Enum an enum Type? {0}.", enumType.IsEnum);
       Console.WriteLine("Is Enum a value type? {0}.", enumType.IsValueType);
   }
}
// The example displays the following output:
//     Is Color an enum? True.
//     Is Color a value type? True.
//     Is Enum an enum type? False.
//     Is Enum a value type? False.

注釈

このプロパティは列挙型に true 対して を返しますが、型自体には Enum 返しません。

現在 Type の が構築されたジェネリック型を表す場合、このプロパティは、型の構築元のジェネリック型定義に適用されます。 たとえば、現在Typeの が (Visual Basic では )MyGenericType(Of Integer) を表すMyGenericType<int>場合、このプロパティの値は によってMyGenericType<T>決定されます。

現在 Type の がジェネリック型またはジェネリック メソッドの定義で型パラメーターを表す場合、このプロパティは常に を返します false

このプロパティは読み取り専用です。

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください