ArcObjects Library Reference  

EnumHelper

About the Edit event listener Sample

[C#]

EnumHelper.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace Events
{ 
  public class EnumUtils
	{
    public static List<T> EnumToList<T>()
    {

      Type enumType = typeof(T);

      // Can't use type constraints on value types, so have to do check like this

      if (enumType.BaseType != typeof(Enum))
      {
        throw new ArgumentException("T must be of type System.Enum");
      }

      return new List<T>(Enum.GetNames(enumType) as IEnumerable<T>);

    }
        
	}
}

[Visual Basic .NET]

EnumHelper.vb

Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.VisualBasic

    Public Class EnumUtils
    Public Shared Function EnumToList(Of T)() As List(Of T)

        Dim enumType As Type = GetType(T)

        ' Can't use type constraints on value types, so have to do check like this
        If Not enumType.BaseType Is GetType(System.Enum) Then
            Throw New ArgumentException("T must be of type System.Enum")
        End If

        Return New List(Of T)(TryCast(System.Enum.GetNames(enumType), IEnumerable(Of T)))

    End Function

End Class