Bonjour,
J'ai un projet customisable.
J'expose une interface, et j'aimerais, en fonction d'un paramètre, d'un choix utilisateur, etc. pouvoir appeler la DLL qui implémente l'interface qui va bien.
Voici quelques extraits de code :
J'ai pas envie :
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
21
22
23
24
25
26 // Project dependencies using CommonTools; // Défini l'interface IExtractor using UpdateTools; // Contient une classe qui implémente IExtractor dans le contexte Update CRM using GoogleTools; // Contient une classe qui implémente IExtractor dans le contexte Google using ZimbraTools; // Contient une classe qui implémente IExtractor dans le contexte Zimbra [...] // Choose the right external program IExtractor External; switch (Properties.Settings.Default.ExternalType) { case "Google": External = new GoogleExtractor(); break; case "Zimbra": External = new ZimbraExtractor(); break; case "Update": External = new UpdateExtractor(); break; default: External = null; break; }
- de compiler le programme unitairement pour chaque programme externe
- de fournir l'ensemble des DLL au client
- d'avoir une liste de 20 kilomètres de références inutiles (seule une assembly sera utilisée en fonction du paramétrage)
Du coup, j'aimerais remplacer le code précédent par un truc du genre :
Ça existe ? Quelle syntaxe ? Usine à gaz ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 // Project dependencies using CommonTools; // Défini l'interface IExtractor // Je ne référence plus rien d'autre [...] // Choose the right external program IExtractor External new Assembly(Properties.Settings.Default.ExternalType);
Partager