Cette documentation est archivée et n’est pas conservée.

Nouveautés du langage et du compilateur C# 2.0

Visual Studio 2005

Avec la version finale de Visual Studio 2005, le langage C# a été mis à jour à la version 2.0, qui prend en charge les nouvelles fonctionnalités suivantes :

Génériques

Des types génériques sont ajoutés au langage pour permettre aux programmeurs d'atteindre un haut niveau de réutilisation du code et des performances améliorées pour les classes de collection. Les types génériques peuvent différer par arité uniquement. Il est possible de forcer les paramètres à adopter des types spécifiques. Pour plus d'informations, consultez Paramètres de type générique.

Itérateurs

Les itérateurs permettent d'indiquer plus facilement de quelle manière une boucle foreach doit parcourir le contenu d'une collection.

Classes partielles

Les définitions de types partiels autorisent le fractionnement en plusieurs fichiers d'un seul type, par exemple, une classe. Le concepteur Visual Studio utilise cette fonctionnalité pour séparer son code généré du code utilisateur.

Types nullables

Les types nullables permettent à une variable de contenir une valeur qui n'est pas définie. Les types nullables sont utiles lorsque vous travaillez avec des bases de données et autres structures de données susceptibles de contenir des éléments sans valeur spécifique.

Méthodes anonymes

Il est désormais possible de passer un bloc de code comme un paramètre. Partout où un délégué est attendu, un bloc de code peut être utilisé à la place : il est inutile de définir une nouvelle méthode.

Qualificateur d'alias d'espace de noms

Le qualificateur d'alias d'espace de noms (::) offre plus de contrôle en matière d'accès aux membres de l'espace de noms. L'alias global:: autorise l'accès à l'espace de noms racine qui peut être masqué par une entité dans votre code.

Classes statiques

Les classes statiques constituent un moyen fiable et pratique de déclarer une classe contenant des méthodes statiques ne pouvant pas être instanciées. En C# version 1.2 vous auriez défini le constructeur de classe comme étant privé pour empêcher la classe d'être instanciée.

Alias d'assembly externe

Référencez des versions différentes du même composant contenues dans le même assembly avec cette utilisation développée du mot clé extern.

Accessibilité de l'accesseur de propriété

Il est désormais possible de définir différents niveaux d'accessibilité aux propriétés pour les accesseurs get et set.

Covariance et contravariance dans les délégués

La méthode passée à un délégué peut avoir maintenant plus de souplesse dans son type de retour et ses paramètres.

Comment : déclarer, instancier et utiliser un délégué

La conversion de groupe de méthodes offre une syntaxe simplifiée pour déclarer les délégués.

Mémoires tampon de taille fixe

Dans un bloc de code unsafe, il est désormais possible de déclarer des structures de taille fixe avec des tableaux incorporés.

Assemblys friend

Les assemblys peuvent donner accès aux types non publics à d'autres assemblys.

Contrôle des avertissements insérés

La directive d'avertissement #pragma peut être utilisée pour désactiver et activer certains avertissements du compilateur.

volatile

Le mot clé volatile peut maintenant être appliqué à IntPtr et UIntPtr.

Le compilateur C# introduit les additions et modifications suivantes pour cette version :

Option /errorreport

Peut être utilisée pour rapporter les erreurs internes du compilateur à Microsoft via l'Internet.

Option /incremental

A été supprimée.

Options /keycontainer et /keyfile

Assistance spécifiant des clés de chiffrement.

Option /langversion

Peut être utilisée pour spécifier la compatibilité avec une version spécifique du langage.

Option /linkresource

Contient des options supplémentaires.

Option /moduleassemblyname

Vous permet de construire un fichier .netmodule et d'accéder aux types non publics dans un assembly existant.

Option /pdb

Spécifie le nom et l'emplacement du fichier .pdb.

Option /platform

Vous permet de cibler les architectures IPF (famille Itanium) et x64.

#pragma warning

Utilisé pour désactiver et activer des avertissements individuels dans le code.

Voir aussi

Afficher: