/ Published in: VB.NET

<p>Returns the description set in an enum value, or if no description is found it returns the name of the enum value. Use this without worrying about passing the enum type, you should only pass the enum value</p>
<p>Example</p>
<pre><code>Friend Enum Duration
<Description("Every 12 Months")> Year = 1
<Description("Every 6 Months")> Semester = 2
End Enum
GetEnumDescription(Duration.Year) returns "Every 12 Months"
</code></pre>
<p>Example</p>
<pre><code>Friend Enum Duration
<Description("Every 12 Months")> Year = 1
<Description("Every 6 Months")> Semester = 2
End Enum
GetEnumDescription(Duration.Year) returns "Every 12 Months"
</code></pre>
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
Imports System.Reflection Imports System.ComponentModel ''' <summary> ''' Returns the enum description (if any), otherwise returns the name of the enum value ''' </summary> Friend Shared Function GetEnumDescription(Of TEnum)(enumObj As TEnum) As String Dim fi As FieldInfo = enumObj.GetType().GetField(enumObj.ToString()) Dim attributes As DescriptionAttribute() = fi.GetCustomAttributes(GetType(DescriptionAttribute), False) If attributes IsNot Nothing AndAlso attributes.Length > 0 Then Return attributes(0).Description Else Return enumObj.ToString() End If End Function
Comments
