Funciones delegadas en C#

Post date: Sep 7, 2010 8:11:57 AM

Los tipos delegados de C# permiten definir variables cuyo valor es una función. Al definir el tipo se especifican los parámetros y el tipo resultante:

delegate int calculoDelegado(int arg1, int arg2);

Una vez definido el tipo ya es posible definir delegaciones (variables con ese tipo):

static calculoDelegado calculo;

Para asignar valores a una variable de tipo delegado hace falta especificar cual es la función que se va a utilizar:

static int Sumar(int arg1, int arg2) { return arg1 + arg2; } static int Restar(int arg1, int arg2) { return arg1 - arg2; }

Para utilizar la variable, primero hay que asignarle una instancia:

calculo = new calculoDelegado(Sumar); Console.WriteLine(calculo(5,4)); calculo = new calculoDelegado(Restar); Console.WriteLine(calculo(5,4));

Al ejecutar esta secuencia de acciones se imprimen las líneas:

9 1

Cursos relacionados