IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Evenement appellé lorsque l'on quitte une fonction?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Par défaut Evenement appellé lorsque l'on quitte une fonction?
    Bonjour,

    J'ai besoin de vos avis pour connaitre la meilleure facon de faire. Voici le problème.
    J'ai une classe mère avec une fonction que je veux rédéfinir dans mes classes héritées:
    Public Class MaClassMere
    Public Overridable Function MaFonction as String
    End Function
    End Class
    Voici une classe héritée :
    Public Class MaClassFille
    Inherits MaClassMere
    Public Overrides Function MaFonction as String
    ...
    End Function
    End Class
    Je voudrais qu'a chaque fois que je quitte "MaFonction" (de ma classe fille) j'execute une autre fonction. Un peu comme les evenements "Dispose" ou "Finalize"
    Je sais qu'en fesant un Try Finally on peux mais le problème c'est que j'ai bcp de fonctions qui sont déjà rédéfini et j'ai pas envie de repasser dans chacune d'elles, et j'aimerai donc que ca soit transparent au cas ou on oublie d'appeller cette fameuse fonction.
    Si vous avez des idées.
    Bonne journée
    Kenavo

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    tu peux faire un truc comme ça (mais ça ne te dispensera malheureusement pas de modifier le code un peu partout...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Class MaClassMere
    Public Function MaFonction as String
        MaFonctionInternal()
        AutreFonction()
    End Function
     
    Protected Overridable Function MaFonctionInternal as String
        ...
    End Function
     
    End Class
    Comme ça, dans les classes filles tu redéfinis MaFonctionInternal, mais l'exécution passe toujours par MaFonction et appelle donc AutreFonction

    Sinon avec PostSharp tu peux mettre des attributs pour exécuter du code à l'entrée ou à la sortie d'une méthode

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Par défaut
    Je vais essayer de voir ce que je peux faire avec PostSharp...
    Merci.

  4. #4
    Membre Expert
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Par défaut
    Citation Envoyé par dudule Voir le message
    Je voudrais qu'a chaque fois que je quitte "MaFonction" (de ma classe fille) j'execute une autre fonction. Un peu comme les evenements "Dispose" ou "Finalize"
    cette autre fonction, si elle est identique peu importe la classe fille, tu peut faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Public Class MaClassMere
        Public Overridable Function MaFonction as String
            ' Traitement commun
        End Function
    End Class
     
    Public Class MaClassFille
        Inherits MaClassMere
        Public Overrides Function MaFonction as String
            ...
            MyBase.MaFonction()
        End Function
    End Class
    En espérant que ça puisse être utile...

Discussions similaires

  1. Appel en MS VC++ d'une Fonction en DLL Delphi 6
    Par FDR2006 dans le forum Bibliothèques
    Réponses: 18
    Dernier message: 23/12/2009, 13h01
  2. Réponses: 16
    Dernier message: 15/10/2009, 17h20
  3. Argument d'appel de procédure à partir d'une fonction
    Par electrosat03 dans le forum VBA Access
    Réponses: 4
    Dernier message: 30/03/2008, 17h33
  4. [langage] appel d'un tableau dans une fonction
    Par donny dans le forum Langage
    Réponses: 11
    Dernier message: 13/11/2006, 16h17
  5. Evenement recu lorsque la souris quitte une fenetre ?
    Par biloute2121 dans le forum MFC
    Réponses: 2
    Dernier message: 26/07/2006, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo