MessageBox To IEnumerable(Of Func(Of DialogResult))

الكود التالي يوضح كيفية تحويل بعضا من او عدد معين من MessageBox الي مصفوفة ثم كيفية استدعاء كل رسالة علي حدة عن طريق تمرير اسم الرسالة باستخدام Enum


 
    Friend Function GetMessage(kind As MessagesKind) As DialogResult
        Select Case kind
            Case MessagesKind.FirstMessage
                Return GetMessages()(CInt(MessagesKind.FirstMessage))()

            Case MessagesKind.SecondMessage
                Return GetMessages()(CInt(MessagesKind.SecondMessage))()

            Case MessagesKind.ThirdMessage
                Return GetMessages()(CInt(MessagesKind.ThirdMessage))()

        End Select
        Return Nothing
    End Function

    Private Iterator Function GetMessages() As IEnumerable(Of Func(Of DialogResult))

        Yield Function() MessageBox.Show("First Message", "Error")
        Yield Function() MessageBox.Show("Second Message", "Info")
        Yield Function() MessageBox.Show("Third Message", "Any Title")

        ' Add more messagees
        Return
    End Function

    Public Enum MessagesKind
        FirstMessage = 0
        SecondMessage = 1
        ThirdMessage = 2
        ' Add more
    End Enum
 
 

Usage:

        ' show first message
        GetMessage(MessagesKind.FirstMessage)

        ' show second message
        GetMessage(MessagesKind.SecondMessage)

        ' show third message
        GetMessage(MessagesKind.ThirdMessage)
 

Comments

Popular posts from this blog

مقدمة الي تشفير الحروف الأبجدية العربية

VB.NET Translucent Control using GDI+

Add Custom Event to a Class in VB.NET