C# 9 – Les expressions typées cible
Soit la classe Personne suivante :
public class Personne
{
public string Nom { get; set; }
public string Prenom { get; set; }
public Personne() : this(string.Empty, string.Empty)
{
}
public Personne(string aNom, string aPrenom)
{
this.Nom = aNom;
this.Prenom = aPrenom;
}
}
Pour créer des instances de cette classe en C# 9, afin de simplifier la syntaxe, nous pouvons omettre le type après le mot clé new :
Personne personne1 = new();
Personne personne2 = new("RAVAILLE", "James");
L’utilisation de cette syntaxe interdit l’utilisation simultanée de l’inférence de type (mot clé var). L’instruction suivante ne peut évidemment pas être utilisée, car le type cible n’est pas précisé :
var personne2 = new("RAVAILLE", "James");