Obwohl es funktioniert, die Steuerung einer Form ausgesetzt wird als öffentliches Eigentum ein schlechtes Design Praxis betrachtet wird .
Nehmen wir an, dass Sie zu einem späteren Zeitpunkt den internen ListBox
in einen anderen Typ wie ListView
ändern müssen, um einige Funktionen hinzuzufügen.
Wenn Sie in diesem Szenario eine Methode mit dem Namen DisableList
im Formular erstellen, müssen Sie nur eine Stelle im Code ändern, um die Art und Weise zu aktualisieren, in der die Liste deaktiviert werden soll.
Aber wenn Sie die Methode zum Schreiben von Code wie _client.listbox1.Enabled = false;
wählen, müssen Sie durch alle Teile des Codes gehen, die die ListBox
berühren, und aktualisieren Sie sie.
Ein sehr wichtiges Prinzip im Design ist es, die internen Implementierungsdetails der Klasse nicht denen auszusetzen, die sie verwenden müssen. In diesem Fall profitieren Sie, wenn das übergeordnete Formular nicht wissen muss, dass die Liste als ListBox
implementiert ist.
Sie sollten Ihre ListBox umbenennen. – SLaks