Les méthodes d'extension en C # expliquées

Les méthodes d'extension en C # expliquées
Les méthodes d'extension sont une caractéristique puissante de C # qui permette aux développeurs d'étendre les types existants avec de nouvelles fonctionnalités sans modifier leur code source. Cet article explorera les méthodes d'extension C # et comment elles peuvent être utilisées dans ce langage de programmation.

Quelles sont les méthodes d'extension?

Les méthodes d'extension sont une sorte de méthode statique qui supprime les tracas de l'édition du code source pour ajouter de nouvelles méthodes. Cela signifie que les développeurs peuvent ajouter de nouvelles fonctionnalités à des types comme des chaînes, des entiers ou toute autre classe personnalisée sans avoir à créer une nouvelle classe ou à modifier la classe d'origine. Les méthodes d'extension sont définies dans les classes statiques et utilisent le "ce" Mot-clé Pour spécifier le type étendu, la syntaxe pour créer une méthode d'extension est la suivante:

Public Static ReturnType Methodname (ce paramètre ExtendedType)

// mise en œuvre

Le mot-clé public indique que la méthode est accessible de n'importe où dans le code, statique indique que la méthode est une méthode statique, et returnType est le type de données qui est renvoyé par cette méthode. MethodName est le nom de la méthode d'extension et ce mot-clé suivi par le type étendue Le paramètre indique que cette méthode étend la classe ExtendedType.

Le paramètre est le paramètre transmis à la méthode, et l'implémentation de la méthode est écrite à l'intérieur des accolades bouclées . Cette syntaxe permet aux développeurs de créer de nouvelles méthodes pour les types existants, ce qui rend le code plus réutilisable et modulaire.

Comment utiliser la méthode d'extension pour étendre la classe de chaîne

Supposons que vous souhaitiez ajouter une nouvelle méthode à la classe de chaîne qui capitalise la première lettre de la chaîne, vous pouvez le faire en utilisant une méthode d'extension en utilisant le code donné ci-dessous:

Utilisation du système;
classe statique publique StringExtensions

String statique public CapitalizeFirstletter (cette entrée de chaîne)

if (chaîne.ISNULLOREMPTY (entrée))

retour d'entrée;

retour charl.Toupper (entrée [0]) + entrée.Sous-chaîne (1);


programme de classe

statique void main (String [] args)

String input = "Hello Linux";
Résultat de la chaîne = entrée.CapitalizeFirstletter ();
Console.Writeline (résultat);

Nous avons créé une nouvelle application de console qui inclut la classe StringExtensions et dans l'ensemble, nous avons créé une variable de chaîne nommée comme entrée et lui a attribué une chaîne qui contient "Bonjour Linux". Ensuite le Capitaliser La méthode d'extension est appelée sur la chaîne d'entrée, qui capitalise la première lettre de la chaîne. Enfin, nous imprimons le résultat à la console à l'aide de la fonction «writeLine ()», vous devriez donc voir la sortie "Bonjour Linux" Lorsque vous exécutez ce programme:

Comment utiliser la méthode d'extension pour étendre la classe entière

Supposons que vous souhaitiez ajouter une nouvelle méthode à la classe entière qui détermine si l'entier est uniforme ou étrange. Vous pouvez le faire en utilisant une méthode d'extension, comme indiqué ci-dessous:

Utilisation du système;
classe statique publique entièrementxtensions

BOOL STATIQUE PUBLIQUE (cette entrée int)

Retour entrée% 2 == 0;


programme de classe

statique void main (String [] args)

int numéro = 10;
si (nombre.Est même())

Console.WriteLine ($ "numéro est même.");

autre

Console.WriteLine ($ "numéro est étrange.");


Le code crée une méthode d'extension iSeven pour le type de données int et le Est même La fonction renvoie true si l'entier d'entrée est égal, et faux sinon.

Dans l'ensemble, nous avons créé un numéro de variable entier et l'avons attribué la valeur 10 et après cela, nous appelons la méthode d'extension ISEVEN sur la variable de nombre, qui renvoie True car 10 est même. Enfin, nous imprimons le résultat à la console à l'aide de la fonction «writeLine ()», vous devriez donc voir la sortie "10 est même" Lorsque vous exécutez ce programme:

Comment utiliser la méthode d'extension pour étendre l'interface de liste

Disons que vous souhaitez ajouter une nouvelle méthode au Ilist Interface qui détermine si la liste est vide ou non et pour faire son utilisation d'une méthode d'extension, comme indiqué ci-dessous:

Utilisation du système;
Utilisation du système.Collections.Générique;
Listensions de classe statique publique

Bool statique publique Isempty (cette liste ilist)

return list == null || liste.Count == 0;


programme de classe

statique void main (String [] args)

Nombres de liste = new list ();
if (nombres.Est vide())

Console.WriteLine ("La liste est vide.");

autre

Console.WriteLine ($ "La liste contient nombres.Compter éléments.");


Dans cet exemple, nous avons créé une méthode d'extension Isempty pour l'Ilist Type de données, où t est un paramètre de type générique. Le Est vide La méthode renvoie true si la liste des entrées est nul ou n'a pas d'éléments, et faux sinon. Dans l'ensemble, nous avons créé un nouveau Liste appelés nombres puis appelées le Est vide Méthode d'extension sur la liste des nombres, qui renvoie true car la liste est vide. Initialement, nous imprimons le résultat à la console à l'aide de la fonction «écriture ()», vous devriez donc voir la sortie "La liste est vide" Lorsque vous exécutez ce programme:

Conclusion

Les méthodes d'extension sont l'une des caractéristiques les plus utiles de C # qui permet aux programmeurs d'étendre les types existants avec de nouvelles fonctionnalités sans modifier leur code d'origine. Les méthodes d'extension sont définies dans une classe statique et utilisent le "ce" mot-clé suivi du type étendu pour indiquer qu'il s'agit de méthodes d'extension. Dans cet article, nous avons vu trois exemples de méthodes d'extension qui étendent les classes de chaîne, entier et ilist.