Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Detecting method in sub class
Message
De
31/03/2015 08:58:16
 
 
À
31/03/2015 08:42:00
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Versions des environnements
Environment:
VB 9.0
OS:
Windows 8.1
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Divers
Thread ID:
01617154
Message ID:
01617483
Vues:
22
>>If you want to determine if the method has been overridden anywhere in the class hierarchy you could use:
return (loMethodInfo.DeclaringType <> GetType(FrameworkBaseClass))
>
>Thanks, this works.
>
>The revised version would be:
>
>
>    ' 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
>
>        ' If the method exists in the sub class
>        If loMethodInfo.DeclaringType <> loType Then
>            llExist = True
>        End If
>
>        Return llExist
>    End Function
>
Hmm. Don't think so. The type of toOriginator will be the that of the child class instance. You need to explicitly test the DeclaringType against the base (root) class
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform