.Net Enum Type’dan Description Almak

lookup şeklinde tanımlı enum typelarımız varsa bu enumların description (açıklama) kısımlarını çekebileceğimiz örnek fonksiyonumuz :

Public Enum Enums

BIRINCI_ENUM = 1


IKINCI_ENUM = 2
End Enum

bu enumların description bilgilerini çekebileceğimiz fonksiyonumuzu yazalım.

Public Function ToDescription(ByVal en As [Enum]) As String
 
        Dim type As Type = en.GetType()
        Dim memInfo() As MemberInfo = type.GetMember(en.ToString())
 
        If memInfo IsNot Nothing AndAlso memInfo.Length > 0 Then
            Dim attrs() As Object = memInfo(0).GetCustomAttributes(GetType(DescriptionAttribute), False)
 
            If attrs IsNot Nothing AndAlso attrs.Length > 0 Then
                Return CType(attrs(0), DescriptionAttribute).Description
            End If
        End If
 
        Return en.ToString()
 
    End Function

Şimdi de örnek kullanımına bakalım.

Enumlar As Enums
Enumlar.IKINCI_ENUM.ToDescription()

Hope it works.