Sommaire

Fonctions locales Fonction locale

Après les classes "nested", voici les fonctions "nested" : depuis le C# 7.0, il est possible de déclarer une ou plusieurs fonctions dans une méthode ! Ces fonctions locales ne peuvent être appelées que depuis les méthodes qui les contiennent. Durant leur exécution, elles fonctionnent dans le contexte de la méthode parent et elles peuvent donc accéder à ses variables internes y compris à ses paramètres !

Voici l’exemple d’une méthode Traitement qui contient une fonction locale gérant la saisie clavier. Cette fonction pourrait être une méthode privée de la classe mais elle est gardée en local car elle n’est utilisée que par la méthode Traitement.

class Test  
{  
    public void Traitement(string hello)  
    {  
        string s = string.Empty;  
   
        litClavier();  
        Console.WriteLine(s);  
        // Traitement ...  
        litClavier();  
        Console.WriteLine(s);  
        // Traitement ...  
   
   
        void litClavier()  
        ...