J'ai un certain code VB (en fait VBA) qui est fondamentalement le même, sauf pour le type sur lequel il fonctionne. Puisque je pense que le principe DRY est un bon principe directeur pour le développement de logiciel, je veux écrire une routine pour tous les différents types qui doivent être opérés. Par exemple, si j'avais deux extraits de code comme ceux-ci:Modèles Dans VB
Dim i as Obj1
Set i = RoutineThatReturnsObj1()
i.property = newvalue
Dim i as Obj2
Set i = RoutineThatReturnsObj2()
i.property = newvalue
Je voudrais avoir quelque chose comme ça pour gérer les deux cas:
Sub MyRoutine(o as ObjectType, r as RoutineToInitializeObject, newvalue as value)
Dim i as o
Set i = r
i.property = newvalue
End Sub
Si j'utilisais C++ je générons une modèle et n'en dire plus à ce sujet. Mais j'utilise VBA. Je suis assez sûr qu'il n'y a aucune capacité comme des modèles de C++ dans la définition de langue de VBA mais est-ce qu'il y a d'autres moyens par lesquels je pourrais réaliser le même effet? Je suppose que la réponse est non, mais je demande ici parce que peut-être il y a une caractéristique de VBA que j'ai manqué.