C# 3.0 et les "extension methods"
C# 3.0, inclus dans la preview de mars (liens ci-dessous), apporte les "extension methodes", ou méthodes d'extension, qui permettent d'implémenter de nouvelles méthodes sur des classes développées par des tiers, y compris par exemple sur des classes du namespace system. Plus besoin donc de classes type "helper" ou "utils" porteuses de méthodes statiques, les méthodes apparaitrons maintenant comme faisant partie des classes à traiter.
Par exemple
if (String Helper.IsValidEmailAddress(myString)) {...}
devient
if (myString.IsValidEmailAddress()) {...}
C'est par ce moyen qu'apparaissent dans Intellisense les nouvelles méthodes de Linq : select, where, group, orderby, etc.
C'est surement à consommer avec modération, mais c'est aussi un moyen à envisager pour publier des extensions métier à des socles logiciels génériques.
ScottGu's Blog : extension methods
Ce n'est pas la feature la plus intéressante de C# 3.0 malgré tout..
Ce qui est étonnant c'est que Borland avait développé pour le passage de Delphi sous .NET un système très similaire appelé aussi class helper et sur lequel ils avaient déposés un brevet. Etrange avec toutes les rivalités entre les deux éditeurs (et surtout le nombre de salariés passés de borland à MS) que cela ne fasse pas plus de vague... A moins que MS n'ait payé le brevet..
Rédigé par : Olivier | 19 novembre 2007 à 17:44