次の方法で共有


Type.IsEnum プロパティ

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

Public ReadOnly Property IsEnum As Boolean
[C#]
public bool IsEnum {get;}
[C++]
public: __property bool get_IsEnum();
[JScript]
public function get IsEnum() : Boolean;

プロパティ値

Type が列挙体である場合は true 。それ以外の場合は false

解説

このプロパティは列挙体に対して true を返しますが、クラスである Enum 型そのものに対しては返しません。

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

使用例

[Visual Basic, C#, C++] IsEnum プロパティを使用する例を次に示します。

 
Imports System

Public Enum Color
    Red
    Blue
    Green
End Enum 'Color
Class TestIsEnum
   Public Shared Sub Main()
        Dim colorType As Type = GetType(Color)
        Dim enumType As Type = GetType([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)
    End Sub 'Main
End Class 'TestType

[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);
   }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
__value enum Color {
   Red, Blue, Green
};

int main() {
   Type*  colorType = __typeof(Color);
   Type*  enumType = __typeof(Enum);
   Console::WriteLine(S"Is Color an enum? {0}.", __box(colorType->IsEnum));
   Console::WriteLine(S"Is Color a value type? {0}.", __box(colorType->IsValueType));
   Console::WriteLine(S"Is Enum an enum Type? {0}.", __box(enumType->IsEnum));
   Console::WriteLine(S"Is Enum a value type? {0}.", __box(enumType->IsValueType));
}

[Visual Basic, C#, C++] このコードによって、次の出力が生成されます。

Color is enum? True
Color is valueType? True
Enum is enum Type? False
Enum is value? False
                          

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

Type クラス | Type メンバ | System 名前空間 | TypeAttributes