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:

posted @ domenica 14 febbraio 2010 10.14

Print

Comments on this entry:

# re: Extension methods

Left by Mauro at 16/02/2010 10.09
Gravatar
Sono d'accordo!
vanno usati il meno possibile!

Your comment:



 (will not be displayed)


 
 
 
Please add 2 and 8 and type the answer here:
 

Live Comment Preview:

 
«febbraio»
domlunmarmergiovensab
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910