Eine Anzahl von Formularen in meinem Projekt erbt von einem Basisformular. Es ist einfach, die Controls-Auflistung der abgeleiteten Formulare zu erhalten, aber ich habe keinen einfachen Weg gefunden, auf die Komponenten-Sammlung zuzugreifen, da VS dies als privat markiert.Zugreifen auf eine Komponente in einem geerbten Formular aus dem Basisformular
Ich gehe davon aus, dass dies mit Reflektion gemacht werden könnte, aber ich bin mir nicht sicher, wie es am besten geht, nicht mit Reflektion gearbeitet zu haben.
Im Moment verwende ich eine Art klobige Abhilfe, in der ich eine Funktion GetComponents überschreiben und ein Array der Komponenten zurückgeben, die ich interessiert. Dies ist offensichtlich anfällig für Fehler, da es leicht zu vergessen ist implementieren Sie die überschriebene Funktion oder aktualisieren Sie sie, wenn Komponenten hinzugefügt werden.
Wenn jemand irgendwelche Tipps hat oder einen besseren Weg vorschlagen kann, würde ich mich freuen zu hören.