Les méthodes d'extension

Les méthodes d'extension sont des méthodes personnalisées que l'on ajoute à nos classes, ou encore aux classes natives du framework (la classe string par exemple).
Jusqu'à présent, pour tester si un string est un numéro de téléphone valide, on utilisait une classe helper :


Et tester la validité de votre string de cette façon :


En utilisant les méthodes d'extensions, il est désormais possible d'ajouter une méthode à la classe string.


Ainsi, pour créer une méthode d'extension, il faut :
  • qu'elle soit définie à l'intérieur d'une classe statique (ici dans l'exemple, la classe myClass)
    La classe étant statique (les méthodes d'une classe statique étant toute statique), la méthode d'extension est statique !
  • que le premier paramètre de la méthode soit précédé du mot clé this :

    • Le type de ce premier paramètre est le type de la classe sur laquelle s'applique cette méthode (ici phoneNumberStr de type string).
    • De plus, contrairement à notre exemple, les méthodes d'extension peuvent avoir plusieurs paramètres.

    Remarque importante :
    Bien qu'une méthode d'extension soit statique, elle s'applique sur les instances de type défini par son premier paramètre. 
On teste alors la validité du string de cette façon :


La méthode validPhone() fait partie intégrante des méthodes de la classe string.
Comme nous le montre l'Intellisense de Visual Studio 2008, une icône avec une flêche bleue la distingue des méthodes pré-existante

0 commentaires:

Enregistrer un commentaire