Maison >développement back-end >C++ >Comment puis-je appeler un constructeur depuis un autre en C# pour initialiser des champs en lecture seule ?
Chaînage de constructeurs en C# : une solution pour l'initialisation de champs en lecture seule
Parfois, vous devez initialiser les readonly
champs à l'aide de plusieurs constructeurs. Étant donné que les champs readonly
ne peuvent se voir attribuer des valeurs qu'au sein d'un constructeur, la simple duplication de la logique d'initialisation entre les constructeurs est inefficace et sujette aux erreurs. C# propose une solution propre : le chaînage de constructeurs.
Le pouvoir de this
Le chaînage de constructeurs exploite le mot-clé this
pour appeler un constructeur à partir d'un autre. Cela redirige le processus d'initialisation, éliminant le code redondant.
Voici un exemple :
<code class="language-csharp">public class Sample { public Sample(string theIntAsString) : this(int.Parse(theIntAsString)) { } public Sample(int theInt) => _intField = theInt; public int IntProperty => _intField; private readonly int _intField; }</code>
Cette Sample
classe démontre deux constructeurs. Le premier constructeur prend une chaîne, l'analyse en un entier, puis chaîne au deuxième constructeur, en transmettant l'entier analysé. Le deuxième constructeur initialise directement le champ readonly
. Cette approche maintient la logique d'initialisation centralisée tout en offrant une flexibilité dans la façon dont la classe est instanciée.
L'utilisation du chaînage de constructeurs favorise un code plus propre et plus maintenable en évitant la logique d'initialisation dupliquée, améliorant ainsi la réutilisabilité du code et réduisant le risque d'incohérences.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!