Hi Leute,
folgendes Problem habe ich:
Ich suche nach einer Möglichkeit per Reflection alle Funktionen aus meiner Assembly aufzurufen - und nur die Funktionen die Protected Deklariert sind.
Soweit bin ich gekommen:
Ich hoffe einer von Euch kann mir da weiterhelfen.
Hab dazu auch noch mit den Membern herumexperimentiert was allerdings sicher der falsche Ansatz ist:
SO long
Yeti
folgendes Problem habe ich:
Ich suche nach einer Möglichkeit per Reflection alle Funktionen aus meiner Assembly aufzurufen - und nur die Funktionen die Protected Deklariert sind.
Soweit bin ich gekommen:
Code:
Dim Info As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly Dim CrLf As String = System.Environment.NewLine() Try For Each Items As Type In Info.GetTypes() If Items.IsPublic() Then ListView1.Items.Add("Public" & " - " & Items.Name()) ElseIf Items.IsInterface() Then ListView1.Items.Add("Interface" & " - " & Items.Name()) ElseIf Items.IsClass() Then ListView1.Items.Add("Class" & " - " & Items.Name()) ElseIf Items.IsValueType() Then ListView1.Items.Add("ValueType" & " - " & Items.Name()) End If Next Catch ex As System.Exception MessageBox.Show(ex.Message(), "Info - " & System.Reflection.MethodBase.GetCurrentMethod().Name()) End Try
Hab dazu auch noch mit den Membern herumexperimentiert was allerdings sicher der falsche Ansatz ist:
Code:
Private Sub GetMethod(ByVal t As System.Type) Dim pris() As PropertyInfo = t.GetProperties() For Each pi As PropertyInfo In pris Debug.Write(pi.Name) Debug.Write(pi.MemberType.ToString) Debug.Write(pi.PropertyType.ToString) If pi.CanRead Then If pi.CanWrite Then Debug.Write("Read/Write") Else Debug.Write("Read Only") End If End If Next Dim mis() As MethodInfo = t.GetMethods() For Each mi As MethodInfo In mis If Not (mi.Name.Trim.StartsWith("get_") Or mi.Name.Trim.StartsWith("set_") Or mi.Name.Trim.StartsWith("add_") Or mi.Name.Trim.StartsWith("remove_")) Then Debug.Write(mi.Name) Debug.Write(mi.MemberType.ToString) Debug.Write(mi.DeclaringType.ToString) End If Next End Sub
Yeti
Comment