Aufruf des Konstruktors von einem anderen Konstruktor in C#

Muhammad Maisam Abbas 16 Februar 2024
Aufruf des Konstruktors von einem anderen Konstruktor in C#

In diesem Lernprogramm werden Methoden zum Aufrufen eines Konstruktors von einem anderen Konstruktor derselben Klasse in C# erläutert.

Aufrufen eines Konstruktors von einem anderen Konstruktor derselben Klasse mit dem Schlüsselwort this in C# auf

Wenn unsere Klasse mehrere Konstruktoren hat und wir einen Konstruktor von einem anderen Konstruktor aufrufen möchten, können wir das Schlüsselwort this in C# verwenden. Das Schlüsselwort this verweist auf die Instanz der aktuellen Klasse in C#. Das folgende Codebeispiel zeigt uns, wie wir einen Konstruktor einer Klasse von einem anderen Konstruktor derselben Klasse mit dem Schlüsselwort this in C# aufrufen können.

using System;

namespace call_another_constructor {
  class sample {
    public sample() {
      Console.WriteLine("Constructor 1");
    }
    public sample(int x) : this() {
      Console.WriteLine("Constructor 2, value: {0}", x);
    }
    public sample(int x, int y) : this(x) {
      Console.WriteLine("Constructor 3, value1: {0} value2: {1}", x, y);
    }
  }
  class Program {
    static void Main(string[] args) {
      sample s1 = new sample(12, 13);
    }
  }
}

Ausgabe:

Constructor 1
Constructor 2, value: 12
Constructor 3, value1: 12 value2: 13

Wir haben die Klasse sample mit 3 verschiedenen Konstruktoren erstellt. Der Konstruktor sample(int x, int y) ruft den Konstruktor sample(int x) auf und übergibt x als Parameter mit this(x). Der Konstruktor sample(int x) ruft dann den Konstruktor sample mit this() auf. Der Konstruktor sample wird vor dem Konstruktor sample(int x) und der Konstruktor sample(int x) vor dem Konstruktor sample(int x, int y) ausgeführt.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - Csharp Class