Public Class FrameworkBaseClass > > Public Sub New() > Dim check = IsMethodExistInSubClass("IniializeWithRow") > End Sub > > Public Function IsMethodExistInSubClass(tcMethod As String) As Boolean > Dim loType = Me.[GetType]() > Dim loMethodInfo = loType.GetMethod(tcMethod, System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.[Public]) > Return (loMethodInfo.DeclaringType <> GetType(FrameworkBaseClass)) > End Function > > Public Overridable Sub IniializeWithRow() > End Sub >End ClassIsMethodExistInSubClass() is not in the class. This is in the Reflection class.
' If the method exists in the client class If loReflection.IsMethodExistInSubClass(Me, "InitializeWithRow", DataEntry) Then End IfThe Reflection class has a definition like this:
' 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 Class ' expC1 Name of the method ' expO2 Base class Public Function IsMethodExistInSubClass(ByVal toClass As Object, ByVal tcMethod As String, _ ByVal toBaseClass As Object) As Boolean Dim llExist As Boolean = False Dim loType As Type = Nothing Dim loMethodInfo As System.Reflection.MethodInfo = Nothing ' Get a reference to the class type loType = toClass.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 ' If the method exists in the sub class If loMethodInfo.DeclaringType <> toBaseClass.GetType() Then llExist = True End If Return llExist End FunctionThis seems to work.