Type.IsEnum Property

Gets a value indicating whether the current Type represents an enumeration.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public ReadOnly Property IsEnum As Boolean
public bool IsEnum { get; }

Property Value

Type: System.Boolean
true if the current Type represents an enumeration; otherwise, 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.

Examples

The following example demonstrates how to use the IsEnum property.


Public Enum Color
   Red
   Blue
   Green
End Enum 'Color
Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim colorType As Type = GetType(Color)
      Dim enumType As Type = GetType([Enum])
      outputBlock.Text += String.Format("Is Color an enum? {0}.", colorType.IsEnum) & vbCrLf
      outputBlock.Text += String.Format("Is Color a value type? {0}.", colorType.IsValueType) & vbCrLf
      outputBlock.Text += String.Format("Is Enum an enum type? {0}.", enumType.IsEnum) & vbCrLf
      outputBlock.Text += String.Format("Is Enum a value type? {0}.", enumType.IsValueType) & vbCrLf
   End Sub 'Main
End Class 'TestType
using System;
public enum Color
{
   Red, Blue, Green
}
class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      Type colorType = typeof(Color);
      Type enumType = typeof(Enum);
      outputBlock.Text += String.Format("Is Color an enum? {0}.", colorType.IsEnum) + "\n";
      outputBlock.Text += String.Format("Is Color a value type? {0}.", colorType.IsValueType) + "\n";
      outputBlock.Text += String.Format("Is Enum an enum Type? {0}.", enumType.IsEnum) + "\n";
      outputBlock.Text += String.Format("Is Enum a value type? {0}.", enumType.IsValueType) + "\n";
   }
}

This code produces 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.

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.