Heim > Backend-Entwicklung > C++ > Wie kann ich in C# einen Konstruktor von einem anderen aufrufen, um Codeduplizierung zu vermeiden?

Wie kann ich in C# einen Konstruktor von einem anderen aufrufen, um Codeduplizierung zu vermeiden?

Linda Hamilton
Freigeben: 2025-01-12 11:32:44
Original
124 Leute haben es durchsucht

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

Rufen Sie einen anderen Konstruktor in C# auf

Beim Umgang mit Konstruktoren, die schreibgeschützte Felder initialisieren, ist es wünschenswert, eine Duplizierung der Logik zu vermeiden. Darüber hinaus gewährleistet die ausschließliche Festlegung schreibgeschützter Felder im Konstruktor die Datenintegrität. Allerdings können Konstruktoren andere Konstruktoren nicht direkt aufrufen.

Lösung: Methodenkettenaufruf

Um diese Einschränkung zu überwinden, kann Methodenverkettung verwendet werden. In C# umfasst dies den Aufruf eines neuen Konstruktors mit Parametern eines vorhandenen Konstruktors. Mit dieser Syntax können Sie mehrere Felder initialisieren und gleichzeitig Ihre Setup-Logik zentralisieren:

<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>
Nach dem Login kopieren

Sie können die Feldinitialisierung an einen Konstruktor delegieren, der ein ganzzahliges Argument akzeptiert, indem Sie ihn von einem Konstruktor aufrufen, der ein Zeichenfolgenargument akzeptiert. Dadurch wird Codeduplizierung vermieden und konsistente Feldeinstellungen sichergestellt.

Das obige ist der detaillierte Inhalt vonWie kann ich in C# einen Konstruktor von einem anderen aufrufen, um Codeduplizierung zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage