Imports System.Reflection #If netcore5 = 1 Then Imports Microsoft.VisualBasic.ApplicationServices.Development.NetCore5 #End If Imports TypeInfo = Microsoft.VisualBasic.Scripting.MetaData.TypeInfo Public Class IDelegate Public Property name As String Public Property type As TypeInfo ''' ''' the absolute path of the assembly module file that contains target delegate ''' ''' Public Property filepath As String Sub New() End Sub Sub New(target As MethodInfo) type = New TypeInfo(target.DeclaringType) name = target.Name filepath = target.DeclaringType.Assembly.Location End Sub Sub New(target As [Delegate]) Call Me.New(target.Method) End Sub Public Function GetMethod() As MethodInfo Dim type As Type = Me.type.GetType(knownFirst:=True, searchPath:={filepath}) #If netcore5 = 1 Then Call deps.TryHandleNetCore5AssemblyBugs(package:=type) #End If For Each method As MethodInfo In CType(type, System.Reflection.TypeInfo).DeclaredMethods If method.IsStatic AndAlso method.Name = name Then Return method End If Next Return Nothing End Function End Class