jueves, 4 de julio de 2013

Usar un clase Anonymous Type en C#

Los Anonymous Type son una característica de C# proporcionan una manera conveniente para encapsular un conjunto de propiedades de sólo lectura en un solo objeto sin tener que definir explícitamente un tipo de primera. El nombre del tipo es generado por el compilador y no está disponible a nivel de código fuente. El tipo de cada propiedad se infiere por el compilador.

Los Anonymous Type son tipos de clases que se derivan directamente de object, y que no se pueden convertir a cualquier tipo excepto objeto. El compilador proporciona un nombre para cada tipo anónimo, aunque su aplicación no puede acceder a ella. Desde el punto de vista del tiempo de ejecución de lenguaje común, un tipo anónimo no es diferente de cualquier otro tipo de referencia.

Declaración:
object o = new { valor1 = "", valor2 = "", valor3 = "" };

Consulta:
Type t = o.GetType();
ProcessInfo p = t.GetProperty("valor1");
object v = p.GetValue(t);

Ó en 2 líneas:
Type t = o.GetType();
object v = t.GetProperty("valor1").GetValue(t);

No hay comentarios.:

Publicar un comentario