Paramètre d'une methode dont le type est inconnu ...

Résolu
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
-
Bonsoir,

Alors voilà ... J'ai un petit problème.

Voici le contexte ... J'ai une methode Machin(); qui prends comme paramètre une instance d'un objet qui possède deux methodes, Bidule() et Truc().
Jusque là, rien de compliqué. Sauf que le type de l'objet peut changer.
L'instance passée en paramètre peut être aussi bien être issue de la
classe Blabla() ou la classe Bliblu(). Sauf que ces 2 classes auront toutes les deux les methodes Bidule() et Truc().

Du coup, je ne sais pas comment faire pour coder la methode Machin(), puisque le type du paramètre est variable. Peut-être que je peux ajouter des interfaces aux classes Bliblu() et Blabla() ... Je sais pas.

Donc si quelqu'un sait comment faire ... Merci de m'aider !

LocalStone

7 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
interface IMachin
{
public void Bidule();
public void Truc();
}

class Blabla : IMachin
{
....
}

class Bliblu : IMachin
{
....
}

Méthode "Machin" :
void Machin(IMachin obj)
{
obj. ....
}

/*
coq
MVP Visual C#
*/
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
Salut,

Utiliser une interface est une bonne solution là oui.

/*
coq
MVP Visual C#
*/
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

Ouimékomenonfé ? Serieux, j'ai jamais utilisé d'interface avant ... Alors je suis un peu perdu. Du coup, dans la methode ou y a le paramètre de type variable, faut mettre quoi comme mot clef pour dire au compilo qu'aujourd'hui, il ne va pas compiler comme d'habitude.
je vais chercher des tutos et tout ça, mais si tu as envie de mettre un exemple, n'hésite pas .
Merci beaucoup !
LocalStone
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

Ha pardon. Tu as déjà mis un exemple ...
Double merci !
LocalStone
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
Très important ça les interfaces : une bonne page pour démarrer ;-)

/*
coq
MVP Visual C#
*/
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009

Du coup, il me vient une autre question
... A part pour résoudre les problèmes analogues au mien, à quoi ça
sert une interface ?

LocalStone
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
2 août 2014
98
A définir un contrat que doit respecter le type qui l'implémente.
Donc tout ce qui analogue à ton problème lol

/*
coq
MVP Visual C#
*/