Esta pagina se ve mejor con JavaScript habilitado

MÉTODOS ANÓNIMOS

 ·  ☕ 2 minutos lectura  ·  ✍️ Saturnino Pimentel

En general cuando se habla de anónimos en C# quiere decir que el compilador es el encargado de definir un nombre y por tanto este no es accesible desde nuestro código.

Los métodos anónimos surgen en la versión 2.0 del .NET framework con la versión 2.0 de C#, después en la versión 3.0 de C# y versiones posteriores las expresiones lambda (en uno de sus dos posibles usos) reemplazan a los métodos anónimos como la manera preferente de escribir código incrustado. Los métodos anónimos siguen siendo útiles debido a que poseen una cualidad que las expresiones lambda no tienen, que es el que puedan omitir la lista de parámetros permitiendo la versatilidad al delegado de tener diversas firmas.

El uso más frecuente de métodos anónimos es en el manejo de eventos y su declaración in situ del código del gestor del evento, en estos casos se pueden omitir los parámetros ya que el compilador hará algo conocido como inferencia de tipos.

A continuación crearemos un ejemplo sencillo del uso de  métodos anónimos anc3b3nimos]

Usos

  • Los métodos anónimos permiten pasar a los delegados bloques de código como parámetro.
  • Son útiles para reducir la codificación de métodos que solo serán utilizados de forma única.

Restricciones

  • El ámbito de los parámetros de un método anónimo es el bloque que compone el bloque del método anónimo.
  • Es una mala práctica utilizar instrucciones de salto tales como goto, break o continue dentro del cuerpo del método anónimo para destinos fuera  del bloque y de igual forma de fuentes externas a destinos dentro del cuerpo del método.
  • No acepta parámetros out ni ref.
  • Una de las más notorias características de los métodos anónimos es la capacidad de acceder a variables de ámbito  externo, a las funciones que tienen esta cualidad se les denomina clausuras. Las clausuras son un recurso tradicional de la programación funcional que aparecieron por primera vez en lenguajes orientados a objetos como c#. A continuación modificaremos el código anterior  para presentar las características de acceso a variables externas
    anc3b3nimos2

Para ambas formas de implementación se muestra el resultado.
resultado

Sin más por el momento me despido de ustedes. Saludos.

compartir en

Saturnino Pimentel
Escrito por
Saturnino Pimentel
Software developer