Komponenten-Konstruktoren

Für die Erstellung nicht-visueller Komponenten für Windows Forms-Anwendungen kann die Klasse System.ComponentModel.Component als Basis verwendet werden.

Der Formulardesigner bevorzugt den Konstruktor mit der Signatur .ctor(IContainer container). Innerhalb dieses Konstruktors muss die Instanz (this) in den übergebenen Container eingefügt werden. Nur so wird sichergestellt, dass beim Freigeben eines Formulars die Komponente ebenfalls durch einen Aufruf der Dispose-Methode freigegeben wird.

Im Beispiel verwendet der zusätzliche Konstruktor den Standardkonstruktor. Somit erfolgt die grundlegende Initialisierung der Komponente immer im Standardkonstruktor.

public ExampleComponent()
{
  InitializeComponent();
  // ...
}

public ExampleComponent(IContainer container)
  : this()
{
  if(container!=null)
    container.Add(this);
}

Ein Standardkonstruktor sollte generell vorhanden sein. Weitere geeignete Konstruktoren können bereitgestellt werden, um das manuelle Erzeugen von Instanzen besser zu unterstützen. Generell ist bei Konstruktoren jedoch zu beachten, dass diese nicht vererbt werden. Abgeleitete Klassen müssen die jeweils benötigten Konstruktoren immer explizit implementieren.

Ähnliche Artikel

Schreiben Sie einen Kommentar