Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Validating on Overridable method
Message
De
03/09/2011 00:40:21
 
 
À
01/09/2011 09:23:54
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Versions des environnements
Environment:
VB 9.0
OS:
Windows 7
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Divers
Thread ID:
01522449
Message ID:
01522638
Vues:
34
If I understand your question correctly, you can just call your validation first:
        Private Function DataEntry() As Boolean
...
          If ValidateBeforeIntializeWithRow() Then
            ' Initialization code with row
            If Not InitializeWithRow() Then
                Return False
            End If
          End If
...
            Return True
        End Function

        Private Function ValidateBeforeIntializeWithRow() As Boolean
          ' validation code here
        End Function

        Public Overridable Function InitializeWithRow() As Boolean
            Return True
        End Function
Now, perhaps you meant you only wanted to do that validation *IF* the sub-class overrode the InitializeWithRow() function and you're right, there's no way to know that. Depending on what this validation is supposed to do, it may not matter if it runs even when there's Override.

~~Bonnie



>At the framework level, I have a method which is calling an Overridable method such as:
>
>
>        Private Function DataEntry() As Boolean
>
>...
>
>            ' Initialization code with row
>            If Not InitializeWithRow() Then
>                Return False
>            End If
>
>...
>
>            Return True
>        End Function
>
>        Public Overridable Function InitializeWithRow() As Boolean
>            Return True
>        End Function
>
>
>This is the main class. When the main class calls the Overridable method InitializeWithRow(), it has no way of knowing if the client application, which inherits from this class, has defined it or not. When the client application has defined it, it means a piece of code related to that method is present in the sub class such as:
>
>
>    Public Overrides Function InitializeWithRow() As Boolean
>
>        ' If the status is Voided or Closed
>        If oProcess.oApp.Inlist(oRow("NoStatus"), 7, 8) Then
>            AddDate("ContactDate", , False)
>        Else
>            AddDate("ContactDate", , False, True)
>        End If
>
>        Return True
>    End Function
>
>
>When this is the case, I would like the framework main class to validate for something before allowing the class to call the overrides method. But, I guess this is not possible.
>
>Any comment?
Bonnie Berent DeWitt
NET/C# MVP since 2003

http://geek-goddess-bonnie.blogspot.com
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform