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

ASP.NET Discussion :

heritage et override


Sujet :

ASP.NET

  1. #1
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut heritage et override
    Bonjour,

    dans mon projet web j'ai trois classes qui s'héritent l'une l'autre. Mon probleme est que je n'arrive pas à surcharger une de mes méthodes. Visual Studio me la propose bien lorsque je tape override mmais ensuite lors de la compilation il m'affiche : aucune méthode appropriée n'a été trouvée pour la substitution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      public class Intranaute : Personne
        {
           public virtual DataTable Lister(SqlConnection objconnection, string NomProcStock)
            {
            }
        }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      public class IntranauteSpecialise : Intranaute
        {}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Conseiller : IntranauteSpecialise
    {
        public override DataTable Lister(SqlConnection objconnection, string NomProcStock)
        {
            return base.Lister(objconnection, NomProcStock);
        }
    }

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Il faut aussi définir ta fonction Lister dans ta classe intérmédiaire.

  3. #3
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Je l'ai mis dans ma classe intermediaire mais cela n'y fait rien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      public class Intranaute : Personne
        {
           public virtual DataTable Lister(SqlConnection objconnection, string NomProcStock)
            {
            }
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public class IntranauteSpecialise : Intranaute
        {
          public override DataTable Lister(SqlConnection objconnection, string NomProcStock)
            {
                return base.Lister(objconnection, NomProcStock);
            }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public class Conseiller : IntranauteSpecialise
    {
        public override DataTable Lister(SqlConnection objconnection, string NomProcStock)
        {
            return base.Lister(objconnection, NomProcStock);
        }
    }

  4. #4
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Ca compile bien chez moi, et s'execute bien...le problème doit etre ailleurs...

    Essaye de vider tes classes et de mettre le strict minimum, puis essaye de situer le problème en ajoutant bric par bric

  5. #5
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    en fait c'est bien ce que je pensais lorsque je remet l'ancien nom de ma fonction, ca compile!

    donc c'est qu'il a du stocker du code qqpart, l'interpreteur me propose bien le nouveau nom changé mais le compilateur doit lui aller chercher l'ancien code...
    Bon bah j'ai plus qu'a chercher...

    merci en tout cas akanath

  6. #6
    Membre expérimenté
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Par défaut
    Pas de pb, et quand tu auras trouvé, n'hésite pas à changer le statut à Résolu

  7. #7
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Il y avait plusieurs trucs entre autres des isntructions de compilation qui faisait qu'il ignorait la classe internaute de départ et aussi qu'il restait une dll dans le GAC. Une fois tout cela enelvé et les fichiers de la solution supprimé, cela a l'air d'aller mieux..


    merci pour tout, à bientot

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

Discussions similaires

  1. probleme heritage overriding
    Par mathieujava dans le forum Langage
    Réponses: 2
    Dernier message: 30/12/2006, 11h26
  2. [Postgres] Pb d'heritage...
    Par anonia dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 22h34
  3. [HERITAGE] Redondance ou pas redondance ???
    Par cyrillus76 dans le forum Schéma
    Réponses: 1
    Dernier message: 11/06/2003, 09h46
  4. [PostgreSQL] Question vis a vis de l'heritage...
    Par Gandalf dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/05/2003, 16h53
  5. Problème d'override...
    Par NeoMan dans le forum Langage
    Réponses: 6
    Dernier message: 10/03/2003, 14h21

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