2009-04-05 8 views
1

Gibt es eine bessere Möglichkeit, die folgende Methode umzuformen, die dafür sorgt, dass die entsprechende Gruppenbox neben den anderen angezeigt wird, als würden sie durch eine Liste gecycelt? Ist es möglich, dies alles in ein Solo umzuformen, wenn Statement + "ohne Schlüsselworte"?C#: Bessere Methode zum Refactoring, um die entsprechende Groupbox anzuzeigen und andere zu verstecken?

Bearbeitet: Ich meinte auf Möglichkeiten zur Umgestaltung in einer Anweisung, um entsprechende Groupbox mit sonst keiner Anweisungen anzuzeigen. Vielleicht ein Weg mit den & &, ||, und solchen Betreibern.

+0

Sie sollten erklären, was Sie zu tun versuchen. Ich nehme an, Sie haben drei Gruppenboxen und Sie wollen nur eine von ihnen gleichzeitig anzeigen, aber das ist eine Vermutung. –

Antwort

2

Ich würde wahrscheinlich die Methode verlassen, wie es ist. Sie können alle diese Operationen in eine Zeile komprimieren, aber die Absicht der Methode wird nicht so klar sein. Ich denke, es ist in Ordnung, wie es ist, keine Menge von Refactoring kann es wirklich einfacher machen.

1

Wenn Sie Ihre Gruppenfelder in einer Sammlung haben (das heißt nur grpSounds, grpAlerts, grpFilters zu einer Liste hinzufügen) Sie tun können:

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