Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

C# - Métodos anónimos

Discutimos que los delegados se usan para hacer referencia a cualquier método que tenga la misma firma que la del delegado. En otras palabras, puede llamar a un método al que un delegado puede hacer referencia utilizando ese objeto delegado.

Métodos anónimos proporcionar una técnica para pasar un bloque de código como un parámetro de delegado. Los métodos anónimos son los métodos sin nombre, solo el cuerpo.

No necesita especificar el tipo de devolución en un método anónimo; se deduce de la declaración de retorno dentro del cuerpo del método.

Escribir un método anónimo

Los métodos anónimos se declaran con la creación de la instancia delegada, con un delegado palabra clave. Por ejemplo,

delegate void NumberChanger(int n);
...
NumberChanger nc = delegate(int x) {
   Console.WriteLine("Anonymous Method: {0}", x);
};

El bloque de código Console.WriteLine("Método anónimo:{0}", x); es el cuerpo del método anónimo.

Se puede llamar al delegado tanto con métodos anónimos como con métodos con nombre de la misma manera, es decir, pasando los parámetros del método al objeto delegado.

Por ejemplo,

nc(10);

Ejemplo

El siguiente ejemplo demuestra el concepto −

Demostración en vivo
using System;

delegate void NumberChanger(int n);
namespace DelegateAppl {
   class TestDelegate {
      static int num = 10;
      
      public static void AddNum(int p) {
         num += p;
         Console.WriteLine("Named Method: {0}", num);
      }
      public static void MultNum(int q) {
         num *= q;
         Console.WriteLine("Named Method: {0}", num);
      }
      public static int getNum() {
         return num;
      }
      static void Main(string[] args) {
         //create delegate instances using anonymous method
         NumberChanger nc = delegate(int x) {
            Console.WriteLine("Anonymous Method: {0}", x);
         };
         
         //calling the delegate using the anonymous method 
         nc(10);
         
         //instantiating the delegate using the named methods 
         nc =  new NumberChanger(AddNum);
         
         //calling the delegate using the named methods 
         nc(5);
         
         //instantiating the delegate using another named methods 
         nc =  new NumberChanger(MultNum);
         
         //calling the delegate using the named methods 
         nc(2);
         Console.ReadKey();
      }
   }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado −

Anonymous Method: 10
Named Method: 15
Named Method: 30

Lenguaje C

  1. Clase y método abstractos de C#
  2. C# Clase parcial y método parcial
  3. Clase y método sellados de C#
  4. Sobrecarga del método C#
  5. Python Anónimo/Función Lambda
  6. Clase anónima de Java
  7. Java 8 - Métodos predeterminados
  8. C# - Métodos
  9. C# - Delegados
  10. ¿Qué es el método 21 de la EPA?
  11. Métodos comunes para obtener la precisión de la pieza de trabajo en el mecanizado (2)