วันจันทร์ที่ ๑๒ ตุลาคม พ.ศ. ๒๕๕๒

ลองสร้าง Extension Method ให้ Enum

คราวก่อนตอนที่ผมต้องการหาชื่อของ Enum ได้ลองทำการสร้าง Extension Method ชื่อ ToDictionary ไว้ ตามชื่อเลยครับ Method นี้จะไปสร้าง Dictionary สำหรับเก็บชื่อ (Key) และค่า (Value) ของ Enum ที่ต้องการ


Public Module EnumExtension
<System.Runtime.CompilerServices.Extension()> _
Public Function ToDictionary(ByVal en As System.Enum) As Dictionary(Of String, Integer)
Dim result As New Dictionary(Of String, Integer)
For Each v As Integer In System.Enum.GetValues(en.GetType)
result.Add(System.Enum.GetName(en.GetType, v), v)
Next
Return result
End Function

End Module


เนื่องจากผมใช้กับ ASP.NET ดังนั้น Module นี้ ผมเอาไปไว้ที่ App_Code folder ครับ ทีแรกเอาไปใส่ใน BLL ซึ่งอยู่คนละ project ก็เลยเรียกใช้ใน ASP.NET ไม่ได้ งงตั้งนานเหมือนกัน ลองทดสอบดูก็น่าพอใจครับ ถือว่าเป็นการทดสอบการสร้าง Extension Method ละกัน

ไม่มีความคิดเห็น: