デリゲート型ではMethodプロパティを参照することで呼び出し対象となるメソッドのMethodInfoを取得することができます。
他のデリゲートと連結されたデリゲート(マルチキャストデリゲート)では、GetInvocationListメソッドを使って連結されているすべてのデリゲートを取得してから、各デリゲートのMethodプロパティを参照することで個々のメソッドに対応するMethodInfoを取得できます。
マルチキャストデリゲートから個々のメソッドのMethodInfoを取得する
Imports System
Class C
Public Sub M1()
End Sub
Public Shared Sub M2()
End Sub
End Class
Class Sample
Shared Sub Main()
Dim inst As New C()
Dim a As New Action(AddressOf inst.M1)
' デリゲートの連結
a = DirectCast([Delegate].Combine(a, New Action(AddressOf C.M2)), Action)
' 連結されたデリゲートから個々のデリゲートを列挙する
For Each d As [Delegate] In a.GetInvocationList()
Console.WriteLine(d.Method)
Next
End Sub
End Class
実行結果
Void M1() Void M2()
デリゲートと呼び出されるメソッドに関してはデリゲートの機能 §.呼び出されるメソッド・インスタンスの取得 (Method, Target, GetInvocationList)でも解説しています。