Partager via


Prise en charge des méthodes d'extension

Dans .NET Framework 3.5, l'infrastructure des règles Windows Workflow Foundation prend désormais en charge l'utilisation de méthodes d'extension. Les méthodes d'extension sont des méthodes statiques qui peuvent être appelées à l'aide de la syntaxe de la méthode d'instance. En effet, les méthodes d'extension permettent d'étendre les types existants et construits avec des méthodes supplémentaires.

Les méthodes d'extension sont déclarées en spécifiant le mot-clé this comme modificateur sur le premier paramètre des méthodes. Les méthodes d'extension peuvent être déclarées uniquement dans les classes statiques. Les éléments suivants sont un exemple d'une classe statique qui déclare une méthode d'extension :

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

L'exemple de code suivant affiche comment les méthodes d'extension peuvent ajouter les nouvelles fonctionnalités aux types existants. Dans ce cas, la méthode d'extension ToInt32 a été définie sur une classe d'extensions statique et appelée à partir d'une instance de la classe String.

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

Pour l'infrastructure de règles WF, la validation des méthodes d'extension est effectuée lors de la compilation. Si la méthode d'extension n'est pas définie dans une classe statique de votre solution, le validateur effectuera une recherche dans tous les assemblys référencés répertoriés dans votre solution pour résoudre votre appel de méthode d'extension.

NoteRemarque :

Si vous essayez d'utiliser un code basé sur ces fonctionnalités avec le .NET Framework 3.0, vous recevrez une erreur de validation du fait que la méthode que vous avez appelée n'est pas définie sur cette classe.

Pour plus d'informations sur les méthodes d'extension, consultez la Spécification C# version 3.0 (page pouvant être en anglais).

Voir aussi

Autres ressources

Modifications au niveau des règles dans le .NET Framework 3.5

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.