Latest web development tutorials

C # metodo anonimo

Abbiamo già accennato, è un metodo delegato avente la stessa etichetta di riferimento. In altre parole, è possibile utilizzare l'oggetto delegato può fare riferimento alle chiamate di metodo delegato.

metodo anonimo (metodi anonimi) per fornire un blocco di codice di come una tecnologia di parametro delegato.metodo anonimo non è solo il nome del metodo principale.

Nel metodo anonimo, non è necessario specificare un tipo di ritorno, è l'istruzione return all'interno del corpo del metodo dedotto.

Scrivi la sintassi metodo anonimo

i metodi anonimi mediante la creazione di un'istanza delegato parola chiave per dichiarare undelegato.Ad esempio:

delegare NumberChanger void (int n);
...
NumberChanger nc = delegato (int x)
{
    Console.WriteLine ( "Metodo Anonimo: {0}", x);
};

blocco di codiceConsole.WriteLine ( "Anonimo Metodo: {0}", x), è oggetto di metodi anonimi.

Delegato può essere invocata da un metodo anonimo per essere richiamato dal metodo di denominazione, vale a dire, passando i parametri al metodo oggetto delegato.

Ad esempio:

nc (10);

Esempi

L'esempio seguente mostra il concetto di metodi anonimi:

using System;

delegare NumberChanger void (int n);
DelegateAppl namespace
{
    classe TestDelegate
    {
        int num statica = 10;
        AddNum public static void (int p)
        {
            num + = p;
            Console.WriteLine ( "Nome Metodo: {0}", num);
        }

        public static void MultNum (int q)
        {
            num * = q;
            Console.WriteLine ( "Nome Metodo: {0}", num);
        }
        int public static getNum ()
        {
            tornare num;
        }

        static void Main (string [] args)
        {
            // Utilizzare i metodi anonimi per creare istanze delegate NumberChanger NC = delegato (int x)
            {
               Console.WriteLine ( "Metodo Anonimo: {0}", x);
            };
            
            // Chiamata Metodo che utilizza NC delegato anonimo (10);

            // Utilizzare un metodo denominato per istanziare delegato NC = nuovo NumberChanger (AddNum);
            
            // Utilizzando nominato delegato del CN ​​chiamata di metodo (5);

            // Utilizzando un altro metodo di denominazione per istanziare delegato NC = nuovo NumberChanger (MultNum);
            
            // Utilizzando nominato delegato del CN ​​chiamata di metodo (2);
            Console.ReadKey ();
        }
    }
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Anonimo Metodo: 10
Chiamato Metodo: 15
Chiamato Metodo: 30