J'ai un projet principal, et une série de dll qui ont des implémentations spécifiques de certaines interfaces ainsi que des view \ viewmodels, etc. J'utilise {ImportMany] pour les obtenir toutes avec des métadonnées, ce qui me permet d'en choisir une, ce qui me donne une référence à l'implémentation spécifique d'ISystem.Comment utiliser GetExport ImportDefinition de MEF?
Je voudrais obtenir la seule implémentation spécifique d'IDisplay à partir de la DLL choisie, que j'ai marquée avec [Export ("SomeDisplay", typeof (IDisplay))] Jusqu'à présent, la seule chose qui Je peux trouver qu'il semble que cela fonctionne est GetExports (ImportDefinition), mais je ne comprends pas comment créer une ImportDefinition qui fonctionnerait, car il semble vouloir un nom de contrat spécifique, qui n'est pas connu avant l'exécution.
Bien sûr, étant donné que je suis toujours un MEF n00b, il est fort probable que je me trompe: D Donc, si GetExports est le meilleur moyen, comment puis-je le faire fonctionner? Ou y a-t-il un meilleur moyen que je devrais utiliser?
Merci!
J'utilise des métadonnées dans mes exportations ISYSTEM pour fournir un texte descriptif afin que l'utilisateur peut choisir lequel charger. Je vais essayer. Dans quelles situations est-ce que je voudrais utiliser GetExports? – Kage