Boucle infine en C#
Résolu
zeOoo
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
zeOoo Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
zeOoo Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
dans le cadre de mon bts ig je dois faire des epti sur une d'entre elle codées en C# j'ai un probleme jexplique
Mon projet est une application objet donc en C# qui permet de gerer un club de foot, affecter un entraineur a une equipe , ajouter un entraineur un menbre de staff ou une equipe . mais voila je bloque car lorsque j'affecte un entraineur a une equipe est donc lequipe a lentraineur sa fais une sorte de boucle infinie dans les setteur est-ce que quelqu'un aurait une idée
voici comment jaffecte un entraineur a une equipe:
private void btn_affecter_Click(object sender, EventArgs e)
{
((Equipe)lstAffectEq.SelectedItem).Entraineur = ((Entraineur)lstAffEnt.SelectedItem);
((Entraineur)lstAffEnt.SelectedItem).IsDispo = false;
}
voici le setteur de entraineur :
public Entraineur Entraineur
{
get { return _entraineur; }
set
{
_entraineur = value;
{
if (_entraineur != null)//verification de l'existance de l'entraineur
{
_entraineur.equipe = null;//retire l'equipe de l'entraineur
}
_entraineur = value;// affectation de l'entraineur
_entraineur.equipe = this;// affectation de l'equipe
}
}
}
et voici selui de lequipe :
public Equipe equipe
{
get { return _equipe; }
set
{
if (_equipe.Entraineur != null)//si l'equipe existe
{
_equipe.Entraineur = null;// je retire l'entraineur
}
_equipe = value;
_equipe.Entraineur = this;//affectation de l'entraineur
}
}
merci pour votre aide
dans le cadre de mon bts ig je dois faire des epti sur une d'entre elle codées en C# j'ai un probleme jexplique
Mon projet est une application objet donc en C# qui permet de gerer un club de foot, affecter un entraineur a une equipe , ajouter un entraineur un menbre de staff ou une equipe . mais voila je bloque car lorsque j'affecte un entraineur a une equipe est donc lequipe a lentraineur sa fais une sorte de boucle infinie dans les setteur est-ce que quelqu'un aurait une idée
voici comment jaffecte un entraineur a une equipe:
private void btn_affecter_Click(object sender, EventArgs e)
{
((Equipe)lstAffectEq.SelectedItem).Entraineur = ((Entraineur)lstAffEnt.SelectedItem);
((Entraineur)lstAffEnt.SelectedItem).IsDispo = false;
}
voici le setteur de entraineur :
public Entraineur Entraineur
{
get { return _entraineur; }
set
{
_entraineur = value;
{
if (_entraineur != null)//verification de l'existance de l'entraineur
{
_entraineur.equipe = null;//retire l'equipe de l'entraineur
}
_entraineur = value;// affectation de l'entraineur
_entraineur.equipe = this;// affectation de l'equipe
}
}
}
et voici selui de lequipe :
public Equipe equipe
{
get { return _equipe; }
set
{
if (_equipe.Entraineur != null)//si l'equipe existe
{
_equipe.Entraineur = null;// je retire l'entraineur
}
_equipe = value;
_equipe.Entraineur = this;//affectation de l'entraineur
}
}
merci pour votre aide
A voir également:
- Boucle infine en C#
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Vlc lire en boucle ✓ - Forum Lecteurs et supports vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Pc qui s'allume et s'éteint en boucle - Forum Virus
- Huawei s'allume et s'éteint en boucle - Forum Huawei
2 réponses
Bonsoir,
Il n'est pas toujours utile d'avoir des liaisons doubles comme tu le fais.
Dans ton cas, ton équipe pourrait très bien contenir un tableau d'entraineurs, et tu y accède via elle.
monEquipe.entraineurs[1].getNom(); // par exemple
Sinon là ce qui boucle chez toi c'est le fait que quand tu affecte un entraineur à une équipe, du coup tu affecte l'équipe à l'entraineur, mais quand tu affecte une équipe à un entraineur, tu affecte cet entraineur à l'équipe, et ainsi de suite, tes deux sets s'appellent l'un et l'autre indéfiniment.
Voilà je serais toi je reverrais cependant ton analyse pour ce programme afin de revoir ça de façon plus propre qu'une double liaison qui sont souvent très embêtantes à gérer donc autant s'en passer dès que possible.
Bonne chance.
Il n'est pas toujours utile d'avoir des liaisons doubles comme tu le fais.
Dans ton cas, ton équipe pourrait très bien contenir un tableau d'entraineurs, et tu y accède via elle.
monEquipe.entraineurs[1].getNom(); // par exemple
Sinon là ce qui boucle chez toi c'est le fait que quand tu affecte un entraineur à une équipe, du coup tu affecte l'équipe à l'entraineur, mais quand tu affecte une équipe à un entraineur, tu affecte cet entraineur à l'équipe, et ainsi de suite, tes deux sets s'appellent l'un et l'autre indéfiniment.
Voilà je serais toi je reverrais cependant ton analyse pour ce programme afin de revoir ça de façon plus propre qu'une double liaison qui sont souvent très embêtantes à gérer donc autant s'en passer dès que possible.
Bonne chance.