Latest web development tutorials

C # méthode anonyme

Nous avons déjà mentionné, est une méthode de délégué ayant la même étiquette pour référence. En d'autres termes, vous pouvez utiliser l'objet délégué peut être référencé par les appels de méthode de délégué.

méthode Anonymous (méthodes anonymes) pour fournir un bloc de code passe comme une technologie de paramètre de délégué.méthode Anonymous est non seulement le nom de la méthode principale.

Dans la méthode anonyme, vous ne devez spécifier un type de retour, il est l'instruction de retour à l'intérieur du corps de la méthode inférée.

Ecrire syntaxe de méthode anonyme

Les méthodes anonymes en créant instance de délégué mot de déclarer undélégué.Par exemple:

déléguer NumberChanger void (int n);
...
NumberChanger nc = délégué (int x)
{
    Console.WriteLine ( "Méthode Anonyme: {0}", x);
};

Bloc de codeConsole.WriteLine ( "Anonymous Méthode: {0}", x); fait l'objet de méthodes anonymes.

Délégué peut être invoqué par une méthode anonyme pour être invoqué par la méthode de dénomination, à savoir, en passant des paramètres à la méthode d'objet délégué.

Par exemple:

nc (10);

Exemples

L'exemple suivant illustre le concept de méthodes anonymes:

using System;

déléguer NumberChanger void (int n);
DelegateAppl d'espace de noms
{
    classe TestDelegate
    {
        static int num = 10;
        AddNum public static void (int p)
        {
            num + = p;
            Console.WriteLine ( "méthode nommée: {0}", num);
        }

        public static void MultNum (int q)
        {
            num * = q;
            Console.WriteLine ( "méthode nommée: {0}", num);
        }
        int public static getNum ()
        {
            retour num;
        }

        static void Main (string [] args)
        {
            // Utiliser des méthodes anonymes pour créer des instances de délégué NumberChanger nc = délégué (int x)
            {
               Console.WriteLine ( "Méthode Anonyme: {0}", x);
            };
            
            // Appel de la méthode utilisant nc délégué anonyme (10);

            // Utiliser une méthode nommée instancier délégué nc = new NumberChanger (AddNum);
            
            // Utilisation délégué nommé nc méthode d'invocation (5);

            // En utilisant une autre méthode de dénomination pour instancier délégué nc = new NumberChanger (MultNum);
            
            // Utilisation délégué nommé nc méthode d'invocation (2);
            Console.ReadKey ();
        }
    }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Anonyme Méthode: 10
Nommé Méthode: 15
Nommé Méthode: 30