This topic has not yet been rated - Rate this topic

Type.IsEnum Property

April 12, 2014

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public bool IsEnum { get; }

Property Value

Type: System.Boolean
true if the current Type represents an enumeration; otherwise, false.

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.

The following example demonstrates how to use the IsEnum property.

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.

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft. All rights reserved.