Type.IsEnum Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a value indicating whether the current Type represents an enumeration.
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
Property Value
true
if the current Type represents an enumeration; otherwise, false
.
Implements
Examples
The following example demonstrates how to use the IsEnum
property.
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.
Remarks
This property returns true
for an enumeration, but not for the Enum type itself.
If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. For example, if the current Type represents MyGenericType<int>
(MyGenericType(Of Integer)
in Visual Basic), the value of this property is determined by MyGenericType<T>
.
If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false
.
This property is read-only.