' If a method exists in a sub class ' expO1 Originator ' expC1 Name of the method Public Function IsMethodExistInSubClass(ByVal toOriginator As Object, ByVal tcMethod As String) As Boolean Dim lcBaseClass As String = "" Dim llExist As Boolean = False Dim loType As Type = Nothing Dim loTypeParent 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) ' Get a reference to the same object as well so we can climb up the chain for comparism loTypeParent = loType ' Loop until we have reached the base class While True ' If we have reached the base class If loTypeParent.BaseType = loType.BaseType Then Exit While Else loTypeParent = loTypeParent.BaseType End If End While ' Get the base class name lcBaseClass = loTypeParent.Name ' If the method exists in the sub class If loMethodInfo.DeclaringType.Name <> lcBaseClass Then llExist = True End If Return llExist End FunctionBut, that doesn't work anymore to recognize the overridable method. It is something in the While loop that I need to adjust.