Tipos anónimos en C#

1 - Qué son los tipos anónimos en C#

Un tipo anónimo es una clase que no tiene nombre, lo cual quiere decir que no tenemos esa clase como tal en el código. La gran mayoría de las veces, utilizaremos tipos anónimos cuando realizamos queries.

Pero también podemos utilizarlos fuera de las queries, para crear un tipo anónimo, lo único que necesitamos es utilizar la palabra reservada new

var equipo = new { Nombre = "Real Betis", Ligas = 1 };

como podemos observar el objeto que hemos creado es un objeto llamado equipo el cual tiene dos propiedades, Nombre y Ligas; Cuando asignamos un valor a estas propiedades, el compilador automáticamente detecta el tipo que van a ser basándose en el valor que asignamos a la propiedad. en este caso nombre será un string y Ligas será un int.

Posteriormente si queremos acceder a sus propiedades únicamente debemos escribir el nombre de la variable y su propiedad utilizando el punto

string nombreEquipo = Equipo.Nombre;

1.1 - Cómo enviar un tipo anónimo como parámetro

Antes de continuar decir que enviar tipos anónimos como parámetro no es una buena práctica que se deba hacer. pese a ello hay una forma de realizar esta acción.

Los tipos anónimos no tienen tipo como tal, por lo que para enviarlo a un método diferente, debemos utilizar en ese método el tipo dynamic pero nos puede dar muchos errores en tiempo de ejecución, ya que el compilador no comprueba que el tipo que pasemos sea el correcto. 

public void test(dynamic equipo)
{
    var t = equipo.Nombre;
}

Una vez hemos creado el método y pasado el tipo dynamic, podemos acceder a sus propiedades utilizando el punto, como en un objeto normal. Hay que tener en cuenta que a partir de ahora este objeto no será comprobado de que la propiedad exista, y si por ejemplo, escribimos mal la propiedad, indicamos una que no existe, nos dará un error.

Veremos el tipo dynamic más adelante en su propio post


Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2024 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café