Nouveautés de Visual C# 2010

Cette page présente les fonctionnalités nouvelles et améliorées qui sont disponibles dans Visual C# 2010. Ces nouvelles fonctionnalités opèrent ensemble pour améliorer la programmabilité Microsoft Office, augmenter votre capacité à explorer le code, prendre en charge le développement piloté par test, etc. Pour plus d'informations, consultez Éléments phares du produit Visual Studio 2010.

Cliquez sur les liens des sections suivantes pour obtenir davantage d'informations sur une fonctionnalité.

Compilateur et langage C# 4.0

Prise en charge dynamique

Visual C# 2010 offre la prise en charge de la liaison tardive aux types dynamiques en présentant un nouveau type, dynamic. Ce nouveau type permet de nombreux nouveaux scénarios, notamment l'accès simplifié aux API COM telles que les API d'automation Office, aux API dynamiques telles que les bibliothèques IronPython, et au modèle objet de document HTML (DOM, Document Object Model). Pour plus d'informations, consultez Utilisation du type dynamic (Guide de programmation C#) et dynamic (Référence C#).

Programmabilité Office

L'accès aux interfaces COM, notamment aux API d'automation Office, est vraiment amélioré par l'ajout d'arguments nommés et facultatifs, le type dynamic les propriétés indexées et les modificateurs ref facultatifs.

Pour plus d'informations, consultez Arguments nommés et facultatifs (Guide de programmation C#), Utilisation du type dynamic (Guide de programmation C#), Comment : utiliser des propriétés indexées dans la programmation COM Interop (Guide de programmation C#) et Comment : accéder aux objets Office Interop à l'aide des fonctionnalités Visual C# 2010 (Guide de programmation C#).

Prise en charge d'équivalence de type

Vous pouvez maintenant déployer une application dotée d'informations de type incorporées au lieu d'informations de type importées à partir d'un assembly PIA (Primary Interop Assembly). Avec les informations de type incorporées, votre application peut utiliser les types d'un assembly sans nécessiter de référence à l'assembly d'exécution ou à l'assembly PIA (Primary Interop Assembly). Si différentes versions de l'assembly d'exécution sont publiées, l'application qui contient les informations de type incorporées peut fonctionner avec les différentes versions sans devoir être recompilée. Pour plus d'informations, consultez /link (Options du compilateur C#). Pour obtenir un exemple, consultez Procédure pas à pas : incorporation de types provenant d'assemblys managés (C# et Visual Basic).

Covariance et contravariance

La covariance vous permet d'utiliser un type plus dérivé que celui spécifié par le paramètre générique, alors que la contravariance vous permet d'utiliser un type moins dérivé. Cela autorise la conversion implicite des classes qui implémentent des interfaces variantes et offre davantage de flexibilité pour faire correspondre les signatures de méthode avec les types délégués variants. Des interfaces et des délégués variants peuvent être créés en utilisant les nouveaux mots clés de langageIn et Out. Le .NET Framework introduit également la prise en charge de la variance pour plusieurs interfaces et délégués génériques existants, y compris l'interface IEnumerable<T> et les délégués Func<TResult> et Action<T>. Pour plus d'informations, consultez Covariance et contravariance (C# et Visual Basic).

Nouvelles options de ligne de commande

L'option de ligne de commande /langversion autorise le compilateur à accepter uniquement la syntaxe qui est valide dans la version spécifiée de C#.

L'option du compilateur /appconfig permet à une application C# de spécifier l'emplacement du fichier de configuration de l'application d'un assembly au compilateur.

Environnement de développement intégré Visual C#

Les sections suivantes décrivent des améliorations à l'environnement de développement intégré Visual Studio (IDE).

Hiérarchie d'appels

Hiérarchie d'appels vous permet de parcourir votre code en affichant les éléments suivants :

  • Tous les appels vers ou provenant d'une méthode, d'une propriété ou d'un constructeur sélectionnés

  • Toutes les implémentations d'un membre d'interface

  • Toutes les substitutions d'un membre virtuel ou abstrait

Cela vous permet de mieux comprendre le flux de code et d'évaluer les effets des modifications à coder. Pour plus d'informations, consultez Hiérarchie d'appels.

Boîte de dialogue Naviguer vers

Vous pouvez utiliser la fonctionnalité Naviguer vers pour rechercher un symbole ou un fichier dans le code source. Vous avez la possibilité de rechercher des mots clés contenus dans un symbole en utilisant la casse mixte et des traits de soulignement pour diviser le symbole en mots clés.

Pour plus d'informations, consultez Comment : rechercher des objets, des définitions et des références (symboles).

Mise en surbrillance des références

Lorsque vous cliquez sur un symbole dans le code source, toutes les instances de ce symbole sont mises en surbrillance dans le document. Pour passer au symbole en surbrillance suivant ou revenir au précédent, vous pouvez utiliser CTRL+MAJ+FLÈCHE BAS ou CTRL+MAJ+FLÈCHE HAUT. Pour plus d'informations, consultez Comment : utiliser la mise en surbrillance des références.

Fonctionnalité Générer à partir de l'utilisation

La fonctionnalité Générer à partir de l'utilisation vous permet d'utiliser des classes et des membres avant de les définir. Sans quitter votre emplacement actuel dans le code, vous pouvez générer un stub pour une classe, un constructeur, une méthode, une propriété, un champ ou un enum que vous souhaitez utiliser mais que vous n'avez pas encore défini. Cela réduit l'interruption de votre workflow.

La fonctionnalité Générer à partir de l'utilisation prend en charge des styles de programmation tels que le développement par test initial. Pour plus d'informations, consultez Générer à partir de l'utilisation et Procédure pas à pas : prise en charge du développement basé d'abord sur les tests avec la fonctionnalité Générer à partir de l'utilisation.

Mode de suggestion IntelliSense

IntelliSense offre désormais deux possibilités pour la saisie semi-automatique des instructions IntelliSense : le mode de saisie semi-automatique et le mode de suggestion. Le mode de suggestion permet d'employer les classes et les membres avant de les définir. Pour plus d'informations, consultez Liste des membres.

Erreurs sémantiques en direct

La fonctionnalité d'erreurs sémantiques actives a été améliorée dans Visual C# 2010. L'utilisation de lignes ondulées pour signaler des erreurs et des avertissements à mesure que vous tapez a été étendue pour inclure des constructions situées en dehors du corps de la méthode, telles que les types de retours, les types de paramètres et les valeurs par défaut dans les déclarations de méthode.

Exemples d'applications

Visual C# 2010 inclut des exemples d'applications qui montrent l'utilisation de nouvelles fonctionnalités C# pour simplifier la programmation Office, permettre d'accéder aux bibliothèques IronPython, créer des objets dynamiques, développer et utiliser des délégués génériques covariants et contravariants, etc. Pour plus d'informations sur les exemples de langage Visual C# et pour savoir comment y accéder, consultez Exemples d'applications Visual C#.

Voir aussi

Référence

Nouveautés du débogueur Visual Studio

Concepts

Nouveautés de Visual Studio 2010

Nouveautés de l'éditeur Visual Studio 2010

Nouveautés de .NET Framework 4

Nouveautés dans ASP.NET 4 et Visual Web Developer

Nouveautés du déploiement