chrisisis
Messages postés32Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 2 novembre 2004
-
29 sept. 2004 à 09:53
cs_Benouille
Messages postés215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention 7 septembre 2007
-
29 sept. 2004 à 11:28
Bonjour,
Je développe actuellement des contrôles personnalisés en dot.net, plus précisément en vb.net
J'ai à développer un textbox, un label, un button, plus quelques autres
Pour chacun d'eux ma classe hérite de la classe de base du contrôle à créer
Pour le TextBox
Code:
Namespace WebControls
'''<summary>Classe de gestion des contrôles "TextBox" sécurisés</summary>
Public Class TextBox
Inherits System.Web.UI.WebControls.TextBox
Implements System.Web.UI.INamingContainer
Pour le label
Code:
'''<summary>Classe de gestion des contrôles "Label" sécurisés</summary>
Public Class Label
Inherits System.Web.UI.WebControls.Label
Implements System.Web.UI.INamingContainer
Pour le Button
Code:
'''<summary>Classe de gestion des contrôles "Button" sécurisés</summary>
Public Class Button
Inherits System.Web.UI.WebControls.Button
Implements System.Web.UI.INamingContainer
etc
Chacun d'eux est dans un espace de nom WebControls
Ils ont tous des propriétés (et champs) communes :
Code:
Private _sLibelleFonction As String
Private _sGuidFonction As String
Private _xmlValeursSelect As Xml.XmlDocument
Private _bPanelNotNull As Boolean = False
Private _arValeursPossibles As Array
Et des fonctions communes
Je sais qu'en dot.net le multiple héritage de classes n'est pas possible
Une solution aurait été de créer une classe WebControl avec ces propriétés et fonctions communes
Code:
'''<summary>Classe de gestion des contrôles "WebControl" sécurisés</summary>
Public Class WebControl
Inherits System.Web.UI.WebControls.WebControl
Implements System.Web.UI.INamingContainer
dans l'espace de nom WebControls
Et dans ce cas, mes contrôles personnalisés héritent de cette classe WebControl
Mais le problème c'est que je n'ai plus les propriétés propres du TextBox, du Label, du Button
Je suis obligée de les redéfinir
Ou d'avoir une propriété Control TextBox et de l'ajouter à mon contrôle de base, mais cette solution n'est pas intéressante
Je cherche une solution pour avoir toutes ses propriétés et fonctions communes dans une même classe, tout en héritant de la classe de base qui m'intéresse à savoir, TextBox, Button, Label, etc
cs_Benouille
Messages postés215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention 7 septembre 2007 29 sept. 2004 à 11:28
effectivement l'héritage multiple n'éxiste pas. Il faut passer par les interfaces.
c'est assez bien expliqué sur le site msdn de crosoft, recherche a "espace de travail" ou "interface" (ou les deux)
tu devrais trouver ton bonheur.
note tout de meme que si la création d'un espace de travail te permet d'avoir toutes les interphaces que tu veux, tu devra quand meme coder l'implémentation des fonctions qui en découlent.
Benas, l'as de l'interface ;)
Benouille la grenouille :approve)