Ce que je suis en train de faire est pour que cela fonctionne:Comment appelez-vous un délégué exporté via MEF avec liaison tardive?
GetMethod(Key key)(...some arguments...)
Les « ... quelques arguments ... » varie entre chaque appel de GetMethod, y compris en nombre de paramètres, donc il n'y a pas action spécifique < ...> que je peux utiliser.
Maintenant le GetMethod parcourt la liste des arguments pour trouver une correspondance dans une liste de Tuple et retourne le deuxième argument du Tuple, qui est la dynamique. Cette liste a été créée en utilisant par MEF
<some CompositionContainer>.GetExports(new ImportDefinition(a => true, "...", ImportCardinality.ZeroOrMore, true, false))
.Select(e => (Tuple<Key, dynamic>)Tuple.Create((Key)e.Metadata["Key"], e.Value))
.ToList();
Maintenant, il semble que le deuxième élément de la typle n'est pas réellement une action du type approprié, mais plutôt un ExportedDelegate. Y a-t-il un moyen de faire en sorte que le deuxième élément soit réellement une Action correcte, de sorte que GetMethod (...) (...) fonctionne réellement?
Donc pour clarifier, mon scénario (using GetMethod (...) (...)) ne fonctionnera jamais, car je devrais connaître le délégué exact que je cherche? Je ne peux pas juste dire à ExportedDelegate d'être appelé avec les arguments qu'il est passé? – Jamie
Non, à un certain point, vous devez savoir quel type de délégué doit être. –
Très bien. Pas la réponse que j'espérais, mais rien ne peut être fait à ce sujet. – Jamie