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
.
Это свойство доступно только для чтения.