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 imbriquées 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 appelée plusieurs fois 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.
// Main
var t = new Test();
t.Traitement("Entrez un mot");
//
class Test
{
public void Traitement(string hello)
{
string? saisie;
litClavier();
Console.WriteLine(saisie);
// Traitement...