C# Syntax verstehen: public MyMethod (int value) : base(value) { … }

Das wird auch base-Konstruktor genannt. Wird der base-Konstruktor aufgerufen, dann wird zuerst dessen Code ausgeführt und dann erst der Code des abgeleiteten Konstruktors. Ein Beispiel zum Verständnis:

using System;
using System.Threading;

    class Program
    {
        static void Main(string[] args)
        {
            new BaseClass("Called by initialisation of BaseClass");
            new DerivedClass("Called by initialisation of DerivedClass");
            Thread.Sleep(10000); // wenn dieser Code in einem 'Console Application'-Projekt drin ist, dann kann man sich so den Output 10 Sekunden lang anschauen. 
        }
    }

    class BaseClass
    {
        public BaseClass(string value)
        {
            Console.WriteLine("Constructor of base class. " + value);
        }
    }

    class DerivedClass : BaseClass
    {
        public DerivedClass(string value) : base(value)
        {
            Console.WriteLine("Constructor of derived class. " + value);
        }
    }

In der Konsole wird ausgegeben:

Constructor of base class. Called by initialisation of BaseClass
Constructor of base class. Called by initialisation of DerivedClass
Constructor of derived class. Called by initialisation of DerivedClass

Veröffentlicht von

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.