2024-01-12 14:12:00
Depuis la version 12.0 du langage C#, les alias de type offrent la possibilité de définir un nom alternatif pour un type. Les types peuvent être des types C#, des classes/structures de base NET ou vos propres classes/structures.
Publicité
Dr. Holger Schwichtenberg est expert technologique en chef chez MAXIMAGO, qui propose un développement de logiciels innovant et basé sur l’expérience, y compris dans des domaines hautement critiques liés à la sécurité. Il est également à la tête du réseau d’experts www.IT-Visions.de, qui soutient de nombreuses moyennes et grandes entreprises avec des conseils et des formations dans le développement et l’exploitation de logiciels avec 43 experts renommés.
Le mot-clé utilisé plusieurs fois en C# using
prend une autre signification.
Quand tu écris
Numbers numbers = new int[10];
tu peux à partir de maintenant Numbers
au lieu de int[]
Utilisation dans les déclarations de type :
Numbers numbers = new int[10];
Cependant, vous êtes autorisé à utiliser l’alias pas utiliser lors de l’instanciation :
Numbers numbers = new Numbers;
Malheureusement, vous ne pouvez pas définir un alias à l’aide d’un alias. Ce qui suit n’est donc pas non plus autorisé :
using DbIntList = List;
Deuxième exemple : DbInt
comme pseudonyme pour un int?
Nullable
:
using DbInt = int?;
// ermöglicht:
public DbInt LoadNumberFromDatabase()
{
try
{
…
}
catch (Exception)
{
return null;
}
}
DbInt n;
n = LoadNumberFromDatabase();
Console.WriteLine(n == null ? "null" : n);
Troisième exemple : tapez l’alias d’un tuple
using Measurement = (string Units, int Distance);
// ermöglicht:
public Measurement Add(Measurement m1, Measurement m2)
{
if (m1.Units == m2.Units)
{
return (m1.Units, m1.Distance + m2.Distance);
}
else
{
throw new Exception("Units do not match!");
}
}
…
Measurement m1 = ("m", 100);
Console.WriteLine(m1.Distance + " " + m1.Units);
Measurement m2 = ("m", 42);
Console.WriteLine(m2.Distance + " " + m2.Units);
Measurement m3 = Add(m1, m2);
Console.WriteLine(m3);
Quatrième exemple : saisissez l’alias d’une classe .NET
using MyPerson = BO.Person;
Contrairement à l’alias du tableau int numbers
L’utilisation pendant l’instanciation est autorisée ici :
MyPerson p = new MyPerson();
MyPerson[] pArray = new MyPerson[10];
Un alias de type doit apparaître au début d’un fichier en dehors de toutes les implémentations de type (classes, structures). Cela peut être avant ou après using
-Instructions pour les importations d’espaces de noms et viennent avant ou après la déclaration de l’espace de noms. Exception : si l’alias de type doit s’appliquer non seulement à un fichier, mais à tous les fichiers du projet, alors l’alias doit apparaître avant l’espace de noms et également le mot-clé global
propre. Un alias de type ne peut pas être exporté pour d’autres projets. Il doit être déclaré une fois dans chaque projet .NET lorsqu’il est utilisé.
global using Measurement = (string Units, int Distance);
using BO;
namespace BL;
// Typaliasse dürfen im Namensraum stehen
using Numbers = int[];
using DbInt = int?;
using MyPerson = Person;
class MeineKlasse
{
…
}
(moi)
#Nouveau #dans #.NET #Typaliasse
1705190821