IRONSOFTWAREHOME

C# Utilisation de directives et alias de type dans .NET 8

C# Using Directives and Type Aliases in .NET 8

Tim Corey

9m 03s

Le mot-clé using en C# fait plus d'une chose, et l'écart entre sa forme de base et ses nouvelles capacités est plus large que la plupart des développeurs ne le réalisent. Les raccourcis de namespace existent depuis le début, les importations de classes statiques sont arrivées avec .NET 6, et .NET 8 a étendu la syntaxe des alias pour couvrir tout type, y compris les tuples. Connaître les trois formes vous permet de réduire les déclarations de type répétitives à un seul nom lisible en haut d'un fichier.

Ce guide explore chaque forme de la directive using dans une application console .NET 8, basée sur le tutoriel de Tim Corey sur les dernières fonctionnalités. Nous partirons du raccourci namespace familier jusqu'à la nouvelle syntaxe d'alias de type.

Point de départ : La directive de namespace de base

[0:35 - 1:35] La configuration commence par désactiver les usings implicites afin que chaque directive soit clairement visible dans le code. Sans aucune déclaration using en haut, appeler Console.WriteLine nécessite le nom complet qualifié : System.Console.WriteLine. L'ajout d'une seule directive résout cela :

using System;
C#

Cette seule ligne rend chaque type à l'intérieur de System disponible par son nom court. La directive n'est pas une importation au sens de la bibliothèque; aucun nouveau code n'est intégré. C'est un raccourci de namespace qui indique au compilateur où chercher lorsqu'il rencontre un nom de type non qualifié.

Utilisation de Static : Sauter le nom de la classe

[2:19 - 2:45] La forme using static cible une classe statique spécifique plutôt qu'un namespace. La pointer sur System.Console rend chaque membre statique de cette classe disponible sans le préfixe de classe :

using static System.Console;

WriteLine("Hello, world!");
C#

Au lieu de Console.WriteLine, vous appelez WriteLine directement. Cette forme, qui est arrivée dans .NET 6, est la plus utile lorsqu'un fichier appelle la même classe statique à plusieurs reprises. Éliminer le nom de la classe répété réduit le bruit visuel à chaque site d'appel.

Alias de Type : Nommer n'importe quel type

[3:41 - 6:40] .NET 8 a étendu la syntaxe des alias afin que using puisse attribuer un nom court à tout type. Un cas motivant est un tuple nommé. Les tuples sont des types de retour courants lorsqu'une méthode doit renvoyer plusieurs valeurs liées sans une définition complète de classe, mais déclarer plusieurs fois le même type de tuple dans un fichier produit beaucoup de répétition :

// Without an alias, each declaration repeats the full tuple type
(string FirstName, string LastName) GetUser() { ... }
(string FirstName, string LastName) person = GetUser();
C#

Un alias de type réduit cela à une déclaration unique en haut :

using Person = (string FirstName, string LastName);
C#

À partir de ce moment dans le fichier, Person remplace la définition complète du tuple :

Person GetUser() { ... }
Person person = GetUser();
C#

L'alias vit uniquement à l'intérieur du fichier où il est déclaré. Il ne se propage pas dans l'ensemble de l'application. Notez que si vous avez besoin que le type soit disponible à l'échelle du projet, un record ou une classe est le choix approprié.

Alias contre Record ou Classe

[5:32 - 6:23] Une question fréquente se pose : si Person ressemble à un record, pourquoi ne pas simplement en déclarer un ? La réponse tient à la portée et au poids. Un record ou une classe est un type nommé qui existe dans l'ensemble du projet, possède son propre fichier et doit être maintenu à mesure que la base de code évolue. Un alias de tuple est une commodité locale au fichier. Lorsque vous utilisez un tuple à deux champs deux ou trois fois dans un fichier de classe, créer une définition de type complète ajoute une surcharge de maintenance que l'alias évite. L'intention de l'équipe .NET est de fournir un éventail d'options plutôt que d'imposer un choix binaire entre un tuple brut et une classe complète.

Conclusion

Les trois formes using couvrent différents besoins. La directive de namespace de base raccourcit les noms de types qualifiés dans tout un fichier, tandis que using static supprime le préfixe de classe des appels de membres statiques. L'alias de type .NET 8 assigne un nom lisible à tout type, y compris les tuples, limité à un seul fichier. Chaque forme réduit la répétition sans changer le comportement sous-jacent de votre code.

Regardez la vidéo complète sur la chaîne YouTube de Tim Corey channel pour une démonstration en direct des trois formes dans un projet .NET 8 en cours.

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise