本文整理汇总了VB.NET中System.Delegate.GetInvocationList方法的典型用法代码示例。如果您正苦于以下问题:VB.NET Delegate.GetInvocationList方法的具体用法?VB.NET Delegate.GetInvocationList怎么用?VB.NET Delegate.GetInvocationList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Delegate
的用法示例。
在下文中一共展示了Delegate.GetInvocationList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: Example
' 导入命名空间
Imports System.IO
Imports System.Reflection
Imports System.Windows.Forms
Module Example
Public outputMessage As Action(Of String)
Public Sub Main()
Dim output1 As Action(Of String) = AddressOf Console.WriteLine
Dim output2 As Action(Of String) = AddressOf OutputToFile
Dim output3 As Action(Of String) = AddressOf MessageBox.Show
outputMessage = [Delegate].Combine( { output1, output2, output3 } )
Console.WriteLine("Invocation list has {0} methods.",
outputMessage.GetInvocationList().Count)
' Invoke delegates normally.
outputMessage("Hello there!")
Console.WriteLine("Press <Enter> to continue...")
Console.ReadLine()
' Invoke each delegate in the invocation list in reverse order.
For ctr As Integer = outputMessage.GetInvocationList().Count - 1 To 0 Step -1
Dim outputMsg = outputMessage.GetInvocationList(ctr)
outputMsg.DynamicInvoke("Greetings and salutations!")
Next
Console.WriteLine("Press <Enter> to continue...")
Console.ReadLine()
' Invoke each delegate that doesn't write to a file.
For ctr As Integer = 0 To outputMessage.GetInvocationList().Count - 1
Dim outputMsg = outputMessage.GetInvocationList(ctr)
If Not outputMsg.GetMethodInfo().Name.Contains("File") Then
outputMsg.DynamicInvoke( { "Hi!" } )
End If
Next
End Sub
Private Sub OutputToFile(s As String)
Dim sw As New StreamWriter(".\output.txt")
sw.WriteLine(s)
sw.Close()
End Sub
End Module