Nouvelles Du Monde

Nouveau dans .NET 8.0 [5]: Typaliasse en C# 12.0

Nouveau dans .NET 8.0 [5]: Typaliasse en C# 12.0

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)

Vers la page d’accueil



#Nouveau #dans #.NET #Typaliasse
1705190821

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Un F16 s’est écrasé à Halkidiki, le pilote est sain et sauf

F-16 ©Eurokinissi ” )+(“arrêter\”> “).length); //déboguer contenttts2=document.querySelector(“.entry-content.single-post-content”).innerHTML.substring( 0, document.querySelector(“.entry-content.single-post-content “).innerHTML.indexOf( “” )); contenttts2=contenttts2.substring(contenttts2.indexOf( “fa-stop\”> ” )+(“arrêter\”> “).length);

ADVERTISEMENT