2010-11-05 9 views
6

ho un tipo dinamicoottenere oggetti di tipo dinamico

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

come posso ora che cosa proprietà sono la tuype dinamica tornato ??? Non posso accedere alla riflessione sulla dinamica.

risposta

1

Non ho familiarità con ExecuteStoreQuery ma c'è una differenza tra l'utilizzo della parola chiave dinamica e l'oggetto che in realtà è un oggetto dinamico. Se si tratta di un oggetto statico appena lanciato come dinamico, la riflessione funzionerà perfettamente. Se si tratta di un oggetto dinamico, la riflessione restituirà i metodi solo non quelli che ci si aspetterebbe. Generalmente un oggetto dinamico avrà la possibilità di interrogare i parametri utilizzati per gestire l'implementazione, ad esempio le cose che ereditano da DynamicObject spesso implementano GetDynamicMemberNames e quindi hanno metodi per richiamare dinamicamente come TryGetMember. Esistono metodi più generici per eseguire il binding dinamico una volta che si hanno i nomi dei membri, ma può essere un po 'troppo da usare con i CallSite ei Raccoglitori DLR, sebbene vi siano alcuni semplici metodi statici che incapsulano tutte le cose DLR nel framework open source Impromptu-Interface .

Problemi correlati