Bonjour,
J'ai des constantes strings que j'ai placé dans des classes:
Mes constantes sont des chaines de caractères pour paramétrer des produits
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Public class A Public const CONST_1 as string ="..........." Public const CONST_2 as string ="..........." Public const CONST_3 as string ="..........." end class Public class B Public const CONST_2 as string ="..........." end class
J'aimerai pouvoir accéder à un seul objet contenant toutes les constantes, le type de la classe utilisée dépendant du type de produit à paramétrer.
J'ai essayé d'utiliser l'héritage, j'ai donc du changer les constantes en propriété:
Dans mon code d'appel, j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Public class A Public shared readonly property CONST_1 as string Get Return "..........." end get end property Public shared readonly property CONST_2 as string ........... end property Public shared readonly property CONST_3 as string ........... end property end class Public class B Inherits A Public Overloads shared readonly property CONST_2 as string ........... end property end class
Questions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Dim MyConst as A select case MyProductType Case "A" MyConst = new A Case "B" MyConst = new B end select SetProduct(MyConst.CONST_2)
Les propriétés étant partagées, y'a t'il moyen de ne pas instancier d'objet, par exemple en mettant un alias sur la classe en cours d'utilisation?
Y' a t'il un meilleur moyen pour gérer ce type de cas?
Dans le cas B, CONST_2 appelle A.CONST_2 alors que B.CONST_2 est bien appelé si MyConst est déclaré en tant que Object : Est ce normal?
Partager