Sobes.tech
Junior

Qu'est-ce qu'une méthode d'extension en C#?

sobes.tech IA

Réponse de l'IA

La méthode d'extension (Extension Method) est une méthode statique qui peut être appelée comme si elle était une méthode du type étendu, bien qu'elle soit en réalité définie en dehors de ce type.

Principales caractéristiques :

  • C'est une méthode statique déclarée dans une classe statique.
  • Le premier paramètre de la méthode d'extension doit être marqué avec le mot-clé this et indiquer le type que vous souhaitez étendre.
  • Les méthodes d'extension n'ont pas accès aux membres privés et protégés du type étendu.
  • Elles permettent d'ajouter des fonctionnalités aux types existants sans modifier leur code source ni utiliser l'héritage.

Exemple de création et d'utilisation :

  1. Définition d'une classe statique et d'une méthode d'extension :

    public static class StringExtensions // Classe statique
    {
        public static string ToTitleCase(this string input) // Méthode d'extension pour le type string
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Logique simple de conversion en Title Case
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Utilisation de la méthode d'extension :

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Appel comme si c'était une méthode normale de string
    // titleCaseString contient maintenant "Hello World"