Extension Method

di Marco Leoncini, in Linq,

La scelta era:

A: porta a pora
B: la notte dei morti viventi (1968 G.Romero)

Dopo un rapido confronto euristico arrivo alla conclusione che forse, poi tra le due trasmissioni non ci sia poi molta differenza.

Decido quindi per gli Zombie d'autore, forse i più famosi protagonisti dei BMovie

Nel precedente post ho accennato a LINQ, acronimo di Language Integrated Query, sul significato di query credo non ci siano dubbi, lascia qualche perplessità in più, anche se non molte in verità: Language Integrated.

Linq sarà integrato con i futuri linguaggi di programmazione, C#3 e VB9, portando benefici quali il controllo degli errori in fase di compilazione, intellisense e tutte le comodità a cui siamo abituati.

Vediamo quali sono le novità introdotte in C#3 che faciliteranno non poco l'uso LINQ.

Inizio con quella che mi piace di più:

Extension Methods.

Un Extension Method è metodo statico utilizzabile però con la sintassi d'istanza che va ad estendere i membri definiti di un tipo.

L'Extension Method viene dichiarato come un normale metodo statico, con l'eccezione che il tipo del parametro è preceduto dalla keyword this. Sarà questo il tipo che sarà esteso.

public static class Extensions
{
 public static int ToInt32(this string s)
 {
  return Int32.Parse(s);
 }
}

Nell'esempio precedente viene creato un Extension Method per il tipo string, così utilizzabile:

string s = "1234";
int i = s.ToInt32();

esattamente eqivalente a:

Extensions. ToInt32("1234");

Un piccolo esempio che potrete trovare tra i vari documenti disponibili con la CTP di LINQ.

P.S. LINQ è basato sul Framework 2.0, con lacrime e sangue è possibile utilizzarlo anche con C#2

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese