using System;
namespace Articulos.Cap04
{
// Declaración de delegado:
internal delegate void Delegado(int valor);
internal class Aplicacion
{
public static void Main()
{
// Definamos una instancia de `Delegado`, y
// le asignamos un método anónimo:
Delegado del = delegate(int valor)
{
Console.WriteLine("El contenido de `valor` es: {0}", valor.ToString());
};
Console.WriteLine();
// Invocación al método anónimo usando como
// intermediario el delegado:
del(99);
Console.WriteLine();
}
}
}
dXNpbmcgU3lzdGVtOwoKbmFtZXNwYWNlIEFydGljdWxvcy5DYXAwNAp7CiAgICAvLyBEZWNsYXJhY2nDs24gZGUgZGVsZWdhZG86CiAgICBpbnRlcm5hbCBkZWxlZ2F0ZSB2b2lkIERlbGVnYWRvKGludCB2YWxvcik7CiAgICAKICAgIGludGVybmFsIGNsYXNzIEFwbGljYWNpb24KICAgIHsKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgICAgICAgewogICAgICAgICAgICAvLyBEZWZpbmFtb3MgdW5hIGluc3RhbmNpYSBkZSBgRGVsZWdhZG9gLCB5IAogICAgICAgICAgICAvLyBsZSBhc2lnbmFtb3MgdW4gbcOpdG9kbyBhbsOzbmltbzoKICAgICAgICAgICAgRGVsZWdhZG8gZGVsID0gZGVsZWdhdGUoaW50IHZhbG9yKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiRWwgY29udGVuaWRvIGRlIGB2YWxvcmAgZXM6IHswfSIsIHZhbG9yLlRvU3RyaW5nKCkpOwogICAgICAgICAgICB9OwogICAgICAgIAogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgpOwogICAgICAgIAogICAgICAgICAgICAvLyBJbnZvY2FjacOzbiBhbCBtw6l0b2RvIGFuw7NuaW1vIHVzYW5kbyBjb21vIAogICAgICAgICAgICAvLyBpbnRlcm1lZGlhcmlvIGVsIGRlbGVnYWRvOgogICAgICAgICAgICBkZWwoOTkpOwogICAgICAgICAgICAKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoKTsKICAgICAgICB9CiAgICB9Cn0=