code_junkie

Delegates as parameters in VB.NET

Nov 11th, 2011
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. Public Sub CheckDifference(ByVal A As Integer, ByVal B As Integer)
  2. If (B - A) > 5 Then
  3. log.ErrorFormat("Difference ({0}) is outside of acceptable range.", (B - A))
  4. End If
  5. End Sub
  6.  
  7. Public Sub CheckDifference(ByVal A As Integer, ByVal B As Integer, "Some delegate info here")
  8. If (B - A) > 5 Then
  9. **delegateinfo**.Invoke("Difference ({0}) is outside of acceptable range.", (B - A))
  10. End If
  11. End Sub
  12.  
  13. Public Delegate Sub Format(ByVal value As String)
  14.  
  15. Public Sub CheckDifference(ByVal A As Integer, _
  16. ByVal B As Integer, _
  17. ByVal format As Format)
  18. If (B - A) > 5 Then
  19. format.Invoke(String.Format( _
  20. "Difference ({0}) is outside of acceptable range.", (B - A)))
  21. End If
  22. End Sub
  23.  
  24. CheckDifference(Foo, Bar, AddressOf log.WriteWarn)
  25.  
  26. CheckDifference(Foo, Bar, AddressOf log.WriteError)
  27.  
  28. Private Delegate Sub LogErrorDelegate(txt as string, byval paramarray fields() as string)
  29.  
  30. Private _LogError
  31. Public Property LogError as LogErrorDelegate
  32. Get
  33. return _LogError
  34. End Get
  35. Set(value as LogErrorDelegate)
  36. _LogError = value
  37. End Set
  38. End Property
  39.  
  40. Dim led as New LogErrorDelegate(AddressOf log.ErrorFormat)
  41.  
  42. Public Delegate errorCall(ByVal error As String, Params objs As Objects())
  43. CheckDifference(10, 0, AddressOf log.ErrorFormat)
Add Comment
Please, Sign In to add comment