Mede-devvers,
Voor een applicatie waarin ik dynamisch aan de hand van een aangeleverde (soort van .csv) file een scherm moet opbouwen, wil ik een aantal standaard klassen uitbreiden met wat eigenschappen.
Een voorbeeld van zo'n eigenschap is bijv. een integer welke elke control uniek moet maken. De controls die ik nodig heb zijn o.a. de Button, TextBox en de ComboBox.
Wat ik nu in mijn hoofd heb is een superklasse te maken welke alle properties en methods bevat welke ik straks nodig heb voor alle controls die ik dynamisch ga toevoegen. Vervolgens wil ik dus bijv. een button laten erven van deze superklasse.
Maar het probleem is dat ik alleen kan ervan van óf mijn superklasse óf van de System.Windows.Forms.Button klasse (waarvan ik het gedrag voor de button nodig heb). Ik kan wel voor elke control een bovenliggende klasse schrijven maar dan heb je nog vrij veel duplicatie kwa code. En dat is niet echt OOP lijkt mij.
Een ander idee wat ik had is om een interface te maken en daarin de methoden en de eigenschappen vast te leggen. Vervolgens een klasse laten erven van bijv. System.Windows.Forms.Button en de interface koppelen. Hierdoor moet ik nog wel overal het gedrag beschrijven maar dan is er wel een 'is-een' relatie. Alleen blijkbaar kan ik geen eigenschappen definiëren in een interface, en sowieso lijkt deze oplossing me niets.
Ik heb nog gezocht op een evt. mogelijkheid van het overriden van een klasse. Ik dacht om de System.Windows.Forms.Control klasse te overriden en hier mijn properties aan toe te voegen.
Wat is de netste/beste optie om voor elkaar te krijgen wat ik wil?
Hopenlijk is het een beetje duidelijk
Voor een applicatie waarin ik dynamisch aan de hand van een aangeleverde (soort van .csv) file een scherm moet opbouwen, wil ik een aantal standaard klassen uitbreiden met wat eigenschappen.
Een voorbeeld van zo'n eigenschap is bijv. een integer welke elke control uniek moet maken. De controls die ik nodig heb zijn o.a. de Button, TextBox en de ComboBox.
Wat ik nu in mijn hoofd heb is een superklasse te maken welke alle properties en methods bevat welke ik straks nodig heb voor alle controls die ik dynamisch ga toevoegen. Vervolgens wil ik dus bijv. een button laten erven van deze superklasse.
Maar het probleem is dat ik alleen kan ervan van óf mijn superklasse óf van de System.Windows.Forms.Button klasse (waarvan ik het gedrag voor de button nodig heb). Ik kan wel voor elke control een bovenliggende klasse schrijven maar dan heb je nog vrij veel duplicatie kwa code. En dat is niet echt OOP lijkt mij.
Een ander idee wat ik had is om een interface te maken en daarin de methoden en de eigenschappen vast te leggen. Vervolgens een klasse laten erven van bijv. System.Windows.Forms.Button en de interface koppelen. Hierdoor moet ik nog wel overal het gedrag beschrijven maar dan is er wel een 'is-een' relatie. Alleen blijkbaar kan ik geen eigenschappen definiëren in een interface, en sowieso lijkt deze oplossing me niets.
Ik heb nog gezocht op een evt. mogelijkheid van het overriden van een klasse. Ik dacht om de System.Windows.Forms.Control klasse te overriden en hier mijn properties aan toe te voegen.
Wat is de netste/beste optie om voor elkaar te krijgen wat ik wil?
Hopenlijk is het een beetje duidelijk