2010-11-05 28 views
6

tengo un tipo dinámicoObtener las propiedades de un tipo dinámico

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

cómo puedo ahora qué propiedades han devuelto el tuype dinámica ??? No puedo acceder por reflexión sobre la dinámica.

Respuesta

1

No estoy familiarizado con ExecuteStoreQuery, pero hay una diferencia entre usar la palabra clave dinámica y el objeto que realmente es un objeto dinámico. Si se trata de un objeto estático que acaba de emitirse como dinámico, entonces la reflexión funcionará bien. Si se trata de un objeto dinámico, la reflexión devolverá métodos que no son los que se esperarían. En general, un objeto dinámico tendrá alguna forma de consultar los parámetros que se utilizan para manejar la implementación; por ejemplo, las cosas que heredan de DynamicObject a menudo implementan GetDynamicMemberNames y luego tienen métodos para invocar dinámicamente como TryGetMember. Hay formas más generales de hacer el enlace dinámico una vez que tiene nombres de miembros pero puede ser un poco demasiado para usar con los CallSites y Binders DLR, aunque hay algunos métodos estáticos simples que encapsulan todo el material DLR en el marco de código abierto Impromptu-Interface .

Cuestiones relacionadas