Latest web development tutorials

C # metoda anonimowe

Mamy już wspomniano, jest to metoda delegata posiadające tę samą etykietę odniesienia. Innymi słowy, można użyć obiektu delegata można odwoływać się przez wywołań metod delegata.

Metoda Anonymous (anonimowe metody), aby zapewnić blok kodu uchodzić za technologię parametru delegata.Metoda Anonymous to nie tylko nazwa głównej metody.

W metodzie anonimowej, nie trzeba określić typ zwracany jest to return wewnątrz ciała metodą wywnioskować.

Napisz anonimowy składni metody

Anonimowe metody poprzez tworzenie instancji delegata słowa kluczowego do deklarowaniadelegata.Na przykład:

delegować void NumberChanger (int n);
...
NumberChanger nc = delegat (int x)
{
    Console.WriteLine ( "Anonymous Metoda: {0}", x);
};

Blok koduConsole.WriteLine ( "Anonymous Metoda: {0}", x); jest przedmiotem metod anonimowych.

Delegat może być wywoływany przez metody anonimowej być wywoływany przez metodę nazewnictwa, a mianowicie, przekazując parametry metody obiektu delegata.

Na przykład:

NC (10);

Przykłady

Poniższy przykład ilustruje koncepcję metod anonimowych:

using System;

delegować void NumberChanger (int n);
DelegateAppl przestrzeni nazw
{
    Klasa TestDelegate
    {
        static int num = 10;
        public static void AddNum (int p)
        {
            num + = p;
            Console.WriteLine ( "Nazwany Metoda: {0}", num);
        }

        public static void MultNum (int q)
        {
            num = q *;
            Console.WriteLine ( "Nazwany Metoda: {0}", num);
        }
        public static int getNum ()
        {
            powrót num;
        }

        static void Main (string [] args)
        {
            // Użyć anonimowego sposoby tworzenia instancji delegata NumberChanger nc = delegat (int x)
            {
               Console.WriteLine ( "Anonymous Metoda: {0}", x);
            };
            
            // Wywołanie metody z użyciem anonimowej nc delegata (10);

            // Użyj nazwie metody instancji delegata nc = new NumberChanger (AddNum);
            
            // Używanie nazwie delegata NC wywołania metody (5);

            // Innej metody nazewnictwa instancji delegata nc = new NumberChanger (MultNum);
            
            // Używanie nazwie delegata NC wywołania metody (2);
            Console.ReadKey ();
        }
    }
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

Anonymous Metoda: 10
Nazwany Metoda: 15
Nazwany Metoda: 30