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 :

changer l'ordre d'éxécution des constructeurs dans une classe dérivée


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut changer l'ordre d'éxécution des constructeurs dans une classe dérivée
    Bonjour,

    soit une classe A avec un constructeur A(), et une classe B dérivant de A avec un constructeur B() : base(). Si je créé un objet B par , alors le constructeur A() sera d'abord appelé, suivi de B(). Comment faire pour que ce soit d'abord le constructeur B() qui soit appelé?

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Salut,

    Impossible, c'est inhérent au langage et c'est en général voulu (sinon dans le constructeur de B tu pourrais accéder à des membres de A non initialisés).
    Qu'est ce qui te pose problème exactement, tu as peut être un problème de design à régler ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut
    Alors en gros, j'ai une classe abstraite A avec une propriété TableName, et un constructeur qui effectue une requête dans une base de données sur la table TableName. Toute classe dérivant de A doit donner une valeur à cette propriété TableName, de telle sorte que la requête marche.
    Donc dans le constructeur dérivé, j'aurais aimé d'abord initialiser la propriété TableName avec une valeur "MaTable", et ensuite appeler le constructeur A() pour effectuer la requête.
    Une idée?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Si tu veux que cette propriété soit forcément renseigner, pkoi ne pas passer par une interface ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 41
    Par défaut
    Parce que j'ai besoin que le constructeur éxécute toujours un certain morceau de code, et on ne peut pas définir de corps de méthode dans une interface.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 835
    Par défaut
    Pourquoi ne pas passer le paramètre TableName comme argument du constructeur ? C'est la solution logique et simple à ton problème.

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

Discussions similaires

  1. Changer l'ordre d'affichage des projets dans netbeans
    Par Elendhil dans le forum NetBeans
    Réponses: 0
    Dernier message: 25/02/2013, 17h04
  2. Changer l'ordre d'apparition des colonnes dans un LOV
    Par roby_rou dans le forum Oracle
    Réponses: 2
    Dernier message: 07/05/2010, 21h25
  3. Ordre d'affichage des control dans une form
    Par bipcpp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/12/2009, 20h08
  4. préciser le type des objets dans une classe dérivée d'arraylist
    Par JCD21 dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 28/06/2008, 18h04
  5. Réponses: 6
    Dernier message: 17/06/2008, 11h28

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