Share via


Supporto dei metodi di estensione

In .NET Framework 3.5, il framework delle regole di Windows Workflow Foundation supporta ora l'utilizzo dei metodi di estensione. Si tratta di metodi statici che è possibile richiamare mediante la sintassi del metodo di istanza. Di fatto, i metodi di estensione consentono di estendere i tipi esistenti e i tipi costruiti con metodi aggiuntivi.

I metodi di estensione vengono dichiarati specificando la parola chiave this come modificatore sul relativo primo parametro. È possibile dichiarali solo in classi statiche. Di seguito è riportato un esempio di classe statica in cui viene dichiarato un metodo di estensione.

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

Nell'esempio di codice seguente viene illustrato come i metodi di estensione possono aggiungere nuove funzionalità ai tipi esistenti. In questo caso, il metodo di estensione ToInt32 è stato definito su una classe statica di estensioni ed è stato chiamato da un'istanza della classe String.

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

Per il framework delle regole WF, la convalida per i metodi di estensione viene eseguita in fase di compilazione. Se il metodo di estensione non viene definito in una classe statica nella soluzione, per la convalida verranno esaminati tutti gli assembly di riferimento elencati nella soluzione al fine di risolvere la chiamata a tale metodo di estensione.

Nota

Se si tenta di utilizzare codice basato su questa funzionalità con .NET Framework 3.0, si otterrà un errore di convalida poiché il metodo chiamato non è definito in tale classe.

Per ulteriori informazioni sui metodi di estensione, vedere la specifica del linguaggio C# versione 3.0 (le informazioni potrebbero essere in inglese).

Vedere anche

Altre risorse

Modifiche alle regole di .NET Framework 3.5

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.