Поделиться через


Type.IsEnum Свойство

Определение

Возвращает значение, позволяющее определить, представляет ли текущий объект Type перечисление.

public:
 virtual property bool IsEnum { bool get(); };
public:
 property bool IsEnum { bool get(); };
public virtual bool IsEnum { get; }
public bool IsEnum { get; }
member this.IsEnum : bool
Public Overridable ReadOnly Property IsEnum As Boolean
Public ReadOnly Property IsEnum As Boolean

Значение свойства

Значение true, если текущий объект Type представляет перечисление; в противном случае — значение false.

Реализации

Примеры

В следующем примере показано, как использовать IsEnum свойство .

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

int main()
{
   Type^ colorType = Color::typeid;
   Type^ enumType = Enum::typeid;
   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.
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.
open System
type Color =
    | Red = 0
    | Blue = 1
    | Green = 2

let colorType = typeof<Color>
let enumType = typeof<Enum>
printfn $"Is Color an enum? {colorType.IsEnum}."
printfn $"Is Color a value type? {colorType.IsValueType}."
printfn $"Is Enum an enum Type? {enumType.IsEnum}."
printfn $"Is Enum a value type? {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.
Public Enum Color
    Red
    Blue
    Green
End Enum

Class Example
   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 
End Class
' 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 объект представляет MyGenericType<int> (MyGenericType(Of Integer) в Visual Basic), значение этого свойства определяется .MyGenericType<T>

Если текущий Type объект представляет параметр типа в определении универсального типа или универсального метода, это свойство всегда возвращает false.

Это свойство доступно только для чтения.

Применяется к

См. также раздел