Sommaire

Les méthodes d’ Extensionextension Méthode d’extension

Pour expliquer l’intérêt des méthodes d’extension, rien de tel encore une fois qu’un cas concret. Dans votre application, vous recevez des variables de type String et vous avez souvent besoin de savoir si leurs contenus sont l’expression de valeurs numériques.

Ce genre de traitement n’existe pas dans la classe String et comme vous n’avez pas son code source, vous ne pouvez pas le rajouter.

Vous ne pouvez pas non plus construire une classe héritière StringEx car la classe String est scellée... Même si elle ne l’avait pas été, il vous aurait fallu remplacer tous les types String par des StringEx dans les classes de votre projet... C’est fastidieux.

Dernière solution : écrire la méthode et la placer dans une classe, de préférence de type static (communément appelée un helper), que vous utiliserez aux moments opportuns. Cette méthode, assez utilisée, reste tout de même moins pratique qu’une implémentation native de votre traitement dans la classe String !

Il existe une fonctionnalité dans le C# qui permet d’ajouter "à la volée" des méthodes à des types compilés juste dans le contexte de votre application. Pas besoin d’avoir le code source du type (classe, structure ou interface) pour ajouter la méthode qui vous manque cruellement ...