当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET Delegate.GetInvocationList方法代码示例

本文整理汇总了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
开发者ID:VB.NET开发者,项目名称:System,代码行数:45,代码来源:Delegate.GetInvocationList


注:本文中的System.Delegate.GetInvocationList方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。