Maison > développement back-end > C++ > Comment puis-je appeler un constructeur depuis un autre en C# pour éviter la duplication de code ?

Comment puis-je appeler un constructeur depuis un autre en C# pour éviter la duplication de code ?

Linda Hamilton
Libérer: 2025-01-12 11:32:44
original
124 Les gens l'ont consulté

How Can I Call One Constructor from Another in C# to Avoid Code Duplication?

Appeler un autre constructeur en C#

Lorsqu'il s'agit de constructeurs qui initialisent des champs en lecture seule, il est souhaitable d'éviter la duplication de la logique. De plus, la définition de champs en lecture seule uniquement dans le constructeur garantit l'intégrité des données. Cependant, les constructeurs ne peuvent pas appeler directement d’autres constructeurs.

Solution : Appel de chaîne de méthodes

Pour surmonter cette limitation, le chaînage de méthodes peut être utilisé. En C#, cela implique d'appeler un nouveau constructeur avec les paramètres d'un constructeur existant. Cette syntaxe vous permet d'initialiser plusieurs champs tout en centralisant votre logique de paramétrage :

<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>
Copier après la connexion

Vous pouvez déléguer l'initialisation du champ à un constructeur qui prend un argument entier en l'appelant depuis un constructeur qui prend un argument chaîne. Cela élimine la duplication de code et garantit des paramètres de champ cohérents.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal