> ' If the method exists in the client class > If loReflection.IsMethodExistInSubClass(Me, "InitializeWithRow") Then > > End If >>
> ' If a method exists in a sub class. This is used when we negotiate with the Overrides method. Thus, the framework > ' may know if the Overrides method exists in the sub class. This is used in the DataEntry class. So, if the method > ' does not exist, we do not call it. And, if it exists, it allows us to validate, if necessary, before proceeding. > ' expO1 Originator > ' expC1 Name of the method > Public Function IsMethodExistInSubClass(ByVal toOriginator As Object, ByVal tcMethod As String) As Boolean > Dim llExist As Boolean = False > Dim loType As Type = Nothing > Dim loMethodInfo As System.Reflection.MethodInfo = Nothing > > ' Get a reference to the originator type > loType = toOriginator.GetType() > > ' Get a reference to the method > loMethodInfo = loType.GetMethod(tcMethod, System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.Public) > > ' If the method does not exist > If loMethodInfo Is Nothing Then > Return False > End If > > ' Loop until we have reached the base class > While loType <> GetType(Object) > loType = loType.BaseType > End While > > ' If the method exists in the sub class > If loMethodInfo.DeclaringType <> loType Then > llExist = True > End If > > Return llExist > End Function >>
return (loMethodInfo.ReflectedType = loMethodInfo.DeclaringType)