Delegate With Multiple Method Sample Code Explaination
Public Class Form1
Private Sub
Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Dim C As New Calculate
Label1.Text = C.ShowValue(10, 10, Calculate.Perform.Add)
End Sub
End Class
Public Class Calculate
Public Enum Perform
Add = 0
Subtract = 1
Divide = 2
Square = 3
End Enum
Private Delegate Function CalcDel(A As Integer, B As Integer) As Integer
Dim L As New List(Of CalcDel)
Public Function ShowValue(A As Integer, B As Integer, Action As Perform) As Integer
Dim msdAdd As CalcDel = AddressOf Add
Dim msdSub As CalcDel = AddressOf Subract
Dim msdDiv As CalcDel = AddressOf Divide
L.Add(msdAdd)
L.Add(msdSub)
L.Add(msdDiv)
Return L(Action).Invoke(A, B)
'If not
Delegate, WE had write Multiple IF Condition to manage Same.
'If Action =
Perform.Add Then
' Return Add(A, B)
'ElseIf Action
= Perform.Subtract Then
' Return Subract(A, B)
'ElseIf Action
= Perform.Divide Then
' Return Divide(A, B)
'ElseIf Action
= Perform.Square Then
' Return Square(A, B)
'End If
End Function
Private Function Add(A As Integer, B As Integer) As Integer
Return A + B
End Function
Private Function Subract(A As Integer, B As Integer) As Integer
Return A - B
End Function
Private Function Divide(A As Integer, B As Integer) As Integer
Return A / B
End Function
Private Function Square(A As Integer, B As Integer) As Integer
Return A * B
End Function
End Class
Comments
Post a Comment