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

C# Discussion :

Appeler une méthode définie dans une interface


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 29
    Points
    29
    Par défaut Appeler une méthode définie dans une interface
    Bonjour,

    Je vous pose une question car j'ai definis une interface ISauvegardable contenant la signature des methodes suivante

    sauvegarder()
    supprimer()
    restaurer()

    Et je souhaiterai dans ma methode supprimer changer un booleen et appeler la methode sauvegarder.

    Seulement VS 2008 m'interdit de le faire.

    Donc je suppose qu'il est interdit a partir d'une méthode definie dans une interface d'appeler une autre methode definie elle aussi dans l'interface.

    Si quelqu'un a une reponse ce serait gentil

    Merci d'avance

    cordialement,

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Février 2008
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    J'ai trouvé une solution.

    Il suffit de créer une instance de l'interface.

    ISauvegardable sauvegardable = (Isauvegardable)this;

    sauvegardable.sauvegarder();

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Points : 196
    Points
    196
    Par défaut
    Hum, attention tu mélanges des chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ISauvegardable sauvegardable = (Isauvegardable)this;
    Ceci n'est créer pas une instance de ISauvegardable (ce qui est impossible car une interface ne peut-être qu'implémenter).
    Ce que tu fais un CAST de ta class courante this en ISauvegardable. Et cela fonctionne car ta class courante implémente ISauvegardable.

    Donc normalement tu peux directement faire:

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

Discussions similaires

  1. arrayList dans une méthode recupérer dans une autre méthode
    Par toufik34 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/07/2013, 09h45
  2. Réponses: 1
    Dernier message: 12/12/2011, 10h07
  3. Réponses: 10
    Dernier message: 15/06/2011, 11h30
  4. Réponses: 8
    Dernier message: 05/04/2011, 08h06
  5. Réponses: 6
    Dernier message: 13/11/2009, 16h06

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