using System;
namespace Recetas.Ch01
{
///<summary>
/// Demostración del uso de var para crear tipos anónimos.
///</summary>
public class TipoAnonimoExteriorAnidado
{
///<summary>
/// Punto de entrada a la ejecución de la aplicación.
///</summary>
public static void Main(string[] args)
{
// Aquí creamos un tipo anónimo
var juan = new {
Nombre = "Juan",
Apellido = "Ortiz",
Edad = 41,
Familia = new
{
Papa = "Juan",
Mama = "Matilde",
Hermano = "Oscar"
},
};
// Acceso a los miembros del tipo anónimo
Console.WriteLine ("Nombre: {0}", juan.Nombre);
Console.WriteLine ("Apellido: {0}", juan.Apellido);
Console.WriteLine ("Edad: {0}", juan.Edad);
Console.WriteLine ("Papá: {0}", juan.Familia.Papa);
Console.WriteLine ("Mamá: {0}", juan.Familia.Mama);
Console.WriteLine ("Hermano: {0}", juan.Familia.Hermano);
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIFJlY2V0YXMuQ2gwMQp7CiAgICAvLy88c3VtbWFyeT4KICAgIC8vLyBEZW1vc3RyYWNpw7NuIGRlbCB1c28gZGUgdmFyIHBhcmEgY3JlYXIgdGlwb3MgYW7Ds25pbW9zLgogICAgLy8vPC9zdW1tYXJ5PgogICAgcHVibGljIGNsYXNzIFRpcG9Bbm9uaW1vRXh0ZXJpb3JBbmlkYWRvCiAgICB7CiAgICAgICAgLy8vPHN1bW1hcnk+CiAgICAgICAgLy8vIFB1bnRvIGRlIGVudHJhZGEgYSBsYSBlamVjdWNpw7NuIGRlIGxhIGFwbGljYWNpw7NuLgogICAgICAgIC8vLzwvc3VtbWFyeT4KICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbihzdHJpbmdbXSBhcmdzKQogICAgICAgIHsKICAgICAgICAgICAgLy8gQXF1w60gY3JlYW1vcyB1biB0aXBvIGFuw7NuaW1vCiAgICAgICAgICAgIHZhciBqdWFuID0gbmV3IHsKICAgICAgICAgICAgICAgIE5vbWJyZSA9ICJKdWFuIiwKICAgICAgICAgICAgICAgIEFwZWxsaWRvID0gIk9ydGl6IiwKICAgICAgICAgICAgICAgIEVkYWQgPSA0MSwKICAgICAgICAgICAgICAgIEZhbWlsaWEgPSBuZXcgCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUGFwYSA9ICJKdWFuIiwKICAgICAgICAgICAgICAgICAgICBNYW1hID0gIk1hdGlsZGUiLAogICAgICAgICAgICAgICAgICAgIEhlcm1hbm8gPSAiT3NjYXIiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICB9OwogICAgICAgICAgICAKICAgICAgICAgICAgLy8gQWNjZXNvIGEgbG9zIG1pZW1icm9zIGRlbCB0aXBvIGFuw7NuaW1vCiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lICgiTm9tYnJlOiB7MH0iLCBqdWFuLk5vbWJyZSk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lICgiQXBlbGxpZG86IHswfSIsIGp1YW4uQXBlbGxpZG8pOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSAoIkVkYWQ6IHswfSIsIGp1YW4uRWRhZCk7CiAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lICgiUGFww6E6IHswfSIsIGp1YW4uRmFtaWxpYS5QYXBhKTsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUgKCJNYW3DoTogezB9IiwganVhbi5GYW1pbGlhLk1hbWEpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSAoIkhlcm1hbm86IHswfSIsIGp1YW4uRmFtaWxpYS5IZXJtYW5vKTsKICAgICAgICB9CiAgICB9Cn0=