Je ne suis pas familier avec ExecuteStoreQuery, mais il existe une différence entre l'utilisation du mot-clé dynamique et de l'objet en tant qu'objet dynamique. Si c'est un objet statique qui est simplement lancé comme dynamique, alors la réflexion fonctionnera très bien. S'il s'agit d'un objet dynamique, la réflexion renvoie des méthodes qui ne correspondent pas à celles que vous attendiez. Généralement, un objet dynamique aura un moyen d'interroger les paramètres utilisés pour gérer l'implémentation, par exemple les objets qui héritent de DynamicObject
mettent souvent en œuvre GetDynamicMemberNames
et ont ensuite des méthodes à invoquer dynamiquement comme TryGetMember
. Il y a des manières plus générales de faire la liaison dynamique une fois que vous avez des noms de membre mais il peut être un peu plus à utiliser avec les CallSites et Binders DLR, bien qu'il y ait quelques méthodes statiques simples qui encapsulent toutes les choses DLR dans le framework open source Impromptu-Interface .