Explizite Konstruktoren

Wird innerhalb einer Klasse kein Konstruktor angegeben, erzeugt der Compiler automatisch einen solchen: den parameterlosen Standardkonstruktor. Dieser zeichnet sich dadurch aus, dass er weder Parameter entgegennimmt noch über Inhalt verfügt. Sein Zweck liegt einzig darin, die Instanzierung des jeweiligen Typs zu ermöglichen. Aus

 public class Foo {}

macht der Compiler:

public class Foo
{
public Foo() {}
}
Diesen parameterlosen Standardkonstruktor erzeugt .NET ausschließlich dann, wenn der Entwickler keinen anderen vorgibt. Sobald der Entwickler also einen eigenen Konstruktor mit Parametern schreibt, verhindert er die automatische Erzeugung der parameterlosen Variante.