[C#] Heritage multiple -> comment faire autrement
Bonjour,
j'ai une application pour laquelle je doit faire quelques controles personalisés (TextBox, ComboBox etc... environ 15) que je creer de la maniere suivante :
Code:
1 2
| public class MaTextBox : TextBox
{ ..... } |
Pour chacun de ces controles je doit rajouter une prorietes, override le onPaint et rajouter des methodes ou fonctions.
Donc je pensait creer une classe de base
Code:
1 2 3 4 5
| internal MaClasse : Control
{
protected override OnPaint (...) { }
enum {...}
} |
puis de faire
Code:
1 2
| public class MaTextBox : TextBox, MaClasse
{ ..... } |
mais ceci ne marche pas vu que l'heritage multiple n'est pas supporté par c#
Comme tout mes controles perso contiendront le meme code et pour eviter d'avoir a reecrire 50 fois le meme code (c qui n'est pas bien en cas de modif) je voulais savoir s'il existait une facon de contourner ceci.
Merci
Une solution intéressante
http://www.codeproject.com/cs/design/smip.asp
Une pattern.
C'est en anglais. Si besoin, je résume.