VB.Net/Generics/Generic Delegate

Материал из VB Эксперт
Версия от 15:42, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Generic delegate can point to any method taking a single argument (specified at the time of creation)

<source lang="vbnet"> Option Explicit On Option Strict On Public Delegate Sub MyGenericDelegate(Of T)(ByVal arg As T) Public Delegate Sub MyDelegate(ByVal arg As Object) Module Program

 Sub Main()
   Dim d As New MyGenericDelegate(Of Integer)(AddressOf IntegerTarget)
   d(100)
   Dim d2 As New MyGenericDelegate(Of String)(AddressOf StringTarget)
   d2("Cool!")
 End Sub
 Public Sub IntegerTarget(ByVal arg As Integer)
   Console.WriteLine("You passed me a {0} with the value of {1}", arg.GetType().Name, arg)
 End Sub
 Public Sub StringTarget(ByVal arg As String)
   Console.WriteLine("You passed me a {0} with the value of {1}", arg.GetType().Name, arg)
 End Sub

End Module


 </source>