[VB.NET] Comment forcer une surcharge de constructeur ?
Bonjour.
Je travaille sous VS 2005 fr.
Je cherche à forcer les constructeurs d'une classe pour qu'il aient une signature particulière, connue d'une autre classe qui les instancie.
Mes classes B,C et D héritent de la classe A.
La classe A implémente une interface I.
La classe Z instancie des objets dont le type est la classe B, C, ou D.
Comment faire pour que un des constructeurs de B, C et D prennent forcément un paramètre de type string (à part dire au programmeur qu'il faut le faire sinon çà marche pas..) ?
J'ai essayé le override dans A ou la définition dans I, mais VS me dit que c'est interdit de mettre un New en mustoverride ou un new dans l'interface.
Merci.
JuRu
Il y a ca aussi, pour rappeler au programmeur ses obligations :
Il y a ca aussi, pour rappeler au programmeur ses obligations :
Code:
1 2 3 4 5 6 7 8
| Public Class MyBaseClass
Public Sub New(Byval InputStr as String)
'Code
End Sub
Public Shared MustOverrides Function NewInstance(Byval InputStr as String) as MyBaseClass
Return New MyBaseClass(InputStr)
End Function
End Class |
On va me dire que c'est de la bidouille, mais bon :roll: ... c'est de moi ;)
Edit : Quand j'utilisais [New] comme nom de fonction Shared, celle-ci s'appelait indéfiniment, il faut choisir un autre nom... j'ai corrigé en NewInstance