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 :

Surcharger une fonction


Sujet :

VB.NET

  1. #1
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut Surcharger une fonction
    Bonjour,

    J'ai un problème pour surcharger une méthode.

    J'ai la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function IsPossible(ByVal param1 As String, ByVal param2 As String) As Boolean
    Mais cette fonction vient d'être modifiée en ajoutant le paramètre param2.

    Je crois savoir qu'il est possible de surcharger cette fonction de manière à éviter de réécrire tous les appels existant (en utilisant overloads ou overrides ???).

    Je n'ai pas trouvé comment faire :-(.

    Pouvez-vous m'aider ?

    Merci par avance.

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    Il me semble que overloads est facultatif.
    override permet de réécrire une méthode hériter.

    Tu n'as besoin ni de l'un ni de l'autre.

    Il te suffit de déclarer les deux méthodes, celle avec une seule propriété appel celle avec deux propriétés

  3. #3
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut
    J'ai essay, en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Public Function IsPossible(ByVal param1 As String) As Boolean
        Public Function IsPossible(ByVal param1 As String, ByVal param2 As String) As Boolean
    Mais il y a une erreur de vs : insérer le "End Function" manquant, ce qui semble logique.

    Cela veut-il dire qu'il faut créer 2 fonctions identiques sans et avec le paramètre supplémentaire ?

    Merci.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    Oui, et si tu ne veux pas impacter les appels existants, le mieux est que la vieille méthode appel la deuxième avec le nouveau paramètre qui va bien.

    Si par défaut, tu veut envoyer une chaîne vide pour le second paramètre, alors la méthode qui à un seul paramètre ne doit rien faire d'autre qu'appeler la seconde avec chaîne vide pour second paramètre.

  5. #5
    Membre habitué

    Inscrit en
    Avril 2004
    Messages
    646
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 646
    Points : 145
    Points
    145
    Par défaut
    Ok, ça marche.

    Merci pour toutes ces précisions.

  6. #6
    Membre régulier Avatar de grrrkewel
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 75
    Points
    75
    Par défaut
    Hello,
    Sinon tu peux déclarer le 2nd paramètre comme optionnel, et comme ça les anciens appels à ta fonction seront toujours valables, à condition que tu ne te serves pas de param2 systématiquement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function IsPossible(ByVal param1 As String,Optional ByVal param2 As String) As Boolean
    Si ma réponse est erronée, ignorez là, mais au moins j'aurais essayé
    Il n'y a pas de mauvaise question, si quelqu'un se la pose, ça ne doit pas être le seul

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Surchargé une fonction template avec template
    Par SKone dans le forum Langage
    Réponses: 2
    Dernier message: 12/10/2014, 20h00
  2. Comment "surcharger" une fonction "statique" ?
    Par ZZZzzz2 dans le forum Langage
    Réponses: 5
    Dernier message: 09/07/2012, 17h39
  3. Surcharger une fonction virtuelle
    Par pierreJTL dans le forum Débuter
    Réponses: 3
    Dernier message: 18/06/2012, 14h44
  4. [2.x] Surcharger une fonction Twig dans un autre bundle
    Par kokoro62 dans le forum Symfony
    Réponses: 0
    Dernier message: 12/06/2012, 16h06
  5. Surcharger une Fonction du ProfileProvider
    Par zooffy dans le forum ASP.NET
    Réponses: 10
    Dernier message: 19/02/2008, 15h14

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