2010-11-05 14 views
6

j'ai un type dynamiqueRecevoir les annonces d'un type dynamique

var f = context.ExecuteStoreQuery<dynamic>("CALL iv_sp_computersbyday(); 

comment je peux maintenant ce que les propriétés ont la tuype dynamique de retour ??? Je ne peux pas accéder par la réflexion sur la dynamique.

Répondre

1

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 .