Aufruf des Konstruktors von einem anderen Konstruktor in C#

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.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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