Saltar al contenido

Funciones locales para C#

El tipo de función local se asemeja al tipo de función de contenedor; sin embargo, no existe una norma o aplicación estricta por parte del compilador. Cuando se tiene una función local se pueden utilizar los modificadores async y unsafe .

No se puede definir una función local en un miembro con cuerpo de expresión. El propósito de la función local es hacer su programa más legible, y se le impide llamar la función local por error ya que no puede llamarla directamente. No se puede utilizar la palabra clave estática en las funciones locales, y no se pueden aplicar atributos a una función local o a uno de sus parámetros o tipo de parámetro.

Funciones locales para C#
Funciones locales para C#

Lugares comunes donde se definen las funciones locales:

  1. Métodos
  2. Constructores
  3. Accesores de propiedad
  4. Accesorio de eventos
  5. Expresiones lambda
  6. Finalizadores, también conocidos como destructores
  7. Funciones locales (lo que significa que las funciones locales pueden anidarse entre sí)

Una característica útil de las funciones locales es que permiten que las excepciones salgan a la superficie inmediatamente. Cuando se utilizan iteradores, por ejemplo, las excepciones sólo salen a la superficie cuando se enumeran.