2009-04-05 3 views
1

Existe-t-il un meilleur moyen de refactoriser la méthode suivante dont le but est de s'assurer que la zone de groupe appropriée est celle affichée à l'écart des autres comme si elles étaient parcourues dans une liste? Est-il possible de refactoriser tout cela en un solo si déclaration + "sans mots-clés elses"? Edité: Je voulais dire sur les façons de refactoriser dans une instruction pour afficher la zone de groupe appropriée sans autre instruction. Peut-être un moyen d'utiliser le & &, ||, et de tels opérateurs.C#: Meilleure façon de refactoriser la méthode pour afficher la zone de groupe appropriée et masquer les autres?

+0

Vous devriez expliquer ce que vous essayez de faire. Je suppose que vous avez trois groupes et que vous voulez en afficher un seul à la fois, mais c'est une supposition. –

Répondre

2

Je laisserais probablement la méthode telle quelle. Vous pouvez compresser toutes ces opérations en une seule ligne, mais l'intention de la méthode ne sera pas aussi claire. Je pense que c'est bien comme ça, aucun refactoring ne peut vraiment le rendre plus simple.

1

Si vous avez vos boîtes de groupe dans une collection (à savoir juste ajouter grpSounds, grpAlerts, grpFilters à une liste), vous pouvez faire:

void DisplayGroupBox(GroupBox groupControlYouWantToDisplay) 
{ 
    foreach(var box in listControls.Where(gb => gb != groupControlYouWantToDisplay) 
     box.Visible = false; 
    groupControlYouWantToDisplay.Visible = true; 
} 
Questions connexes