Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Articulos.cap04
- {
- internal sealed class EvolucionMetodosAnonimos
- {
- delegate int DelegadoCuadrado(int numero);
- static int Cuadrado(int numero)
- {
- return numero * numero;
- }
- static void Main()
- {
- // C# 1.0: Uso de delegados
- Console.WriteLine ("\n === C# 1.0: Uso de delegados === ");
- DelegadoCuadrado dc1 = new DelegadoCuadrado(Cuadrado);
- Console.WriteLine ("\t{0}", dc1(5).ToString());
- // C# 2.0: Delegado con código de inicialización (métodos anónimos):
- // uso de la palabra clave `delegate` con los tipos
- // explítitos de los parámetros:
- Console.WriteLine (" === C# 2.0: Delegado con código de inicialización (métodos anónimos) === ");
- DelegadoCuadrado dc2 = delegate(int numero)
- {
- return numero * numero;
- };
- Console.WriteLine ("\t{0}", dc2(7).ToString());
- // C# 3.0: Delegado con expresión lambda:
- Console.WriteLine ("\n === C# 3.0: Delegado con expresión lambda ===");
- DelegadoCuadrado cd3 = x => x * x;
- Console.WriteLine ("\t{0}", cd3(11).ToString());
- // C# 3.0: Delegado genérico integrado y expresión lambda:
- // El delegado genérico Func<T, TResulta>:
- Console.WriteLine ("\n === C# 3.0: Delegado genérico integrado y expresión lambda ===");
- System.Func<int, int> cd4 = x => x * x;
- Console.WriteLine ("\t{0}\n", cd4(13).ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement