Les constructeurs

Fermé
Ines - 22 mars 2011 à 11:25
 Ines - 23 mars 2011 à 10:28
Bonjour,

svp j'ai une classe Rule.xaml.cs qui contient les constructeurs suivantes :

public Rule(IContainer container)
: this(container, false)
{

}
public Rule(IContainer container, bool isTemporary):this(container,isTemporary, RuleLineType.Line)
{

}
public Rule(IContainer container, bool isTemporary,RuleLineType lineType)
{
}

avec Icontainer est une classe .cs
svp qui peut m'expliquer ça et qui peut m'aider de cree une instance de cette classe Rule.xaml.cs

6 réponses

C'est quoi que tu comprend pas?
et pour créer une instance... bah comme tout autre classe. tu choisis le constructeur que tu veux utiliser et tu l'utilise
0
Aktayen Messages postés 189 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 17 décembre 2015 19
22 mars 2011 à 11:36
Si c'est comme en java, selon le nombre de paramètre (et le type) que tu utilises pour instancier ça appel un constructeur précis.
0
merci pour votre réponse :)
mais j'ai pas compris la signification de this(..,..)
Svp est ce qu'ily a une explication et comment je peut l'utiliser si je veux crée une instance de cette classe
0
this est un pointeur sur l'instance en cours.

class a
{
public a()
{
this->uneMethode();
}
public void uneMethode()
{
}
};

là ça appelle la méthode uneMethode pour l'instance en cours.
dans ce cas là, le this ne sert pas a grand chose, mais tu verras que ça peut etre très pratique.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
22 mars 2011 à 14:18
Je ne connais pas ton langage, il aurait été bien de préciser, je pense que c'est du Caml.
Je pense que le "this" mis comme ça en dehors du corps de la fonction sert à appeler un autre constructeur. Dans ton cas les constructeurs s'appellent en cascade. En C++ on a l'équivalent avec l'héritage et les membre :
class C :public A
{
    int a;
    char b;
    C(int ac,char bc,const char* s):A(s),a(ac),b(bc){};
}
Mais il n'y a pas l'équivalent pour appeler un autre constructeur (en fait, ça revient à utiliser des membres par défaut, ce qui est fait autrement)
0
bonjour

merci à tous pour l'aide
0