Blogger news

18:56
0
Hoy vamos a ver como utilizar esta opcion, que fué introducida a partir de C# 2.0. Antes de esta version solo se podian utilizar los delegados a traves de metodos nombrados.

Un metodo anonimo es, como su nombre lo dice, un metodo que no tiene nombre, y que para invocarlo se hace uso de los Delegados.

Mediante los metodos anonimos, se reduce la sobrecarga de codificación al crear instancias de delegados sin tener que crear un método independiente.

Vamos aver un ejemplo, en el siguiente codigo vamos a utilizar un delegado que invocara a un metodo (metodo nombrado)

using System;

namespace MetodosAnonimosI
{
    class Program
    {
        //Declaracion del delegado
        delegate void z_delTipoDelegado();
        //Metodo que devuelve la instancia de un delegado
        static z_delTipoDelegado get()
        {
            return new z_delTipoDelegado(z_metMetodo);
        }
        //Metodo que sera invocado desde el delegado
        static void z_metMetodo()
        {
            Console.WriteLine("Hola mundo desde el metodo");
        }

        static void Main(string[] args)
        {
            //instancia del delegado
            z_delTipoDelegado z_varcioDelegado = get();
            //al llamar la instancia del delegado, se ejecutara el metodo
            z_varcioDelegado();
        }
    }
}


Ahora vamos a ver un ejemplo similar pero utilizando los metodos anonimos:

using System;

namespace ConMetodosAnonimos
{
    class Program
    {
        //declaracion del delegado
        delegate void z_delTipoDelegado();

        //Este metodo devuelve una instancia del delegado
        //no es necesario un metodo ya que el metodo esta
        //dentro del delegado
        static z_delTipoDelegado get()
        {
            return delegate()
            {
                Console.WriteLine("Hola mundo desde el metodo anonimo");
            };
        }
        static void Main(string[] args)
        {
            //instancia del delegado
            z_delTipoDelegado z_varcioDelegado = get();
            //al llamar a ka instancia del delegado, se ejecutara
            //el metodo anonimo declarado dentro de la instancia
            //del mismo
            z_varcioDelegado();
        }
    }
}


Se nota la diferencia, nuestro codigo se vuelve mas legible y elegante.

Si les interesa aqui estan los codigos de ambos ejemplos en VS2008: Click Aqui

Esto es el principio, continuara........



Ailas...................

0 comentarios:

Publicar un comentario

:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.