Latest web development tutorials

C # anonyme Methode

Wir haben bereits erwähnt, ist ein Delegatmethode das gleiche Label als Referenz aufweist. Mit anderen Worten, können Sie die Delegatobjekt verwenden, können durch die delegierte Methode Anrufe referenziert werden.

Anonymous - Methode (Anonyme Methoden)einen Code - Block als Delegierter Parameter Technologie zur Verfügung zu stellen. Anonymous Methode ist nicht nur der Name des Hauptmethode.

In der anonymen Methode, brauchen Sie keinen Rückgabetyp angeben, es ist der return-Anweisung innerhalb der Methode Körper abgeleitet.

Schreiben Sie anonyme Methode Syntax

Anonyme Methoden von Delegatinstanz Stichwort Erstellen einesDelegaten zu deklarieren.Zum Beispiel:

delegieren Leere NumberChanger (int n);
...
NumberChanger nc = Delegierter (int x)
{
    Console.WriteLine ( "Anonymous Methode: {0}", x);
};

CodeblockConsole.WriteLine ( "Anonymous Methode: {0}", x); ist das Thema anonyme Methoden.

Delegierter kann durch eine anonyme Methode aufgerufen werden, um durch die Benennung Methode aufgerufen werden, nämlich durch Parameter an die Delegatobjekt Methode übergeben.

Zum Beispiel:

nc (10);

Beispiele

Das folgende Beispiel zeigt das Konzept der anonymen Methoden:

using System;

delegieren Leere NumberChanger (int n);
Namespace DelegateAppl
{
    Klasse TestDelegate
    {
        static int num = 10;
        public static void AddNum (int p)
        {
            num + = p;
            Console.WriteLine ( "Named Methode: {0}", num);
        }

        public static void MultNum (int q)
        {
            num * = q;
            Console.WriteLine ( "Named Methode: {0}", num);
        }
        public static int getNum ()
        {
            Rückkehr num;
        }

        static void Main (string [] args)
        {
            // Verwenden anonyme Methoden delegieren Instanzen NumberChanger nc = Delegierte (int x) zu erstellen
            {
               Console.WriteLine ( "Anonymous Methode: {0}", x);
            };
            
            // Methodenaufruf mit anonymen Delegaten nc (10);

            // Eine benannte Methode, um Delegierte instanziiert nc neue NumberChanger (AddNum) =;
            
            // Verwenden von benannten Delegierten der Methodenaufruf nc (5);

            // Die Verwendung eines anderen Benennungsmethode delegieren instanziiert nc neue NumberChanger (MultNum) =;
            
            // Verwenden von benannten Delegierten der Methodenaufruf nc (2);
            Console.ReadKey ();
        }
    }
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

Anonym Methode: 10
Benannt Methode: 15
Benannt Methode: 30