Extension methods

Gli extension methods permettono a metodi statici di essere richiamati usando la sintassi dei metodi di istanza. Questi metodi devono avere almeno un parametro che rappresenta l'istanza del metodo su cui operare. In C# su questo parametro si utilizza la parola chiave this.

public static class StringExtensions{
    public static bool IsPalindrome(this string s){
       ...
    }
}

Questo metodo viene richiamato nel seguente modo:

if("hello world".IsPalindrome()){
  ....
}

La classe che definisce l'extension method viene definita "sponsor" e deve essere statica. Ovviamente va importato il namespace della classe sponsor.

Vanno usati il minimo indispensabile ;)

[Fonte: Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition) - K. Cwalina, B. Abrams - Addison Wesley - 2009]


Technorati tags:

Print | posted @ domenica 14 febbraio 2010 12:14

Comments on this entry:

Gravatar # re: Extension methods
by Mauro at 16/02/2010 12:09

Sono d'accordo!
vanno usati il meno possibile!
Comments have been closed on this topic.