Erstellen von Komponenten (Visual C#)

Aktualisiert: November 2007

In der Softwarebranche wird mit dem Begriff Komponente ein wiederverwendbares Objekt bezeichnet, das für Clients auf standardisierte Art eine oder mehrere Schnittstellen verfügbar macht. Eine Komponente kann als einzelne Klasse oder als Gruppe von Klassen implementiert werden; am wichtigsten ist dabei, dass die grundlegende öffentliche Schnittstelle genau definiert ist. Bei der systemeigenen Windows-Programmierung beispielsweise erfordert das Component Object Model (COM), dass alle Komponenten zusätzlich zu spezialisierten Schnittstellen die IUnknown-Schnittstelle implementieren.

Im Kontext von .NET Framework ist eine Komponente eine Klasse bzw. eine Gruppe von Klassen, die die IComponent-Schnittstelle oder eine Schnittstelle implementieren, die direkt oder indirekt von einer Klasse abgeleitet ist, die diese Schnittstelle implementiert. Die Standardimplementierung der Basisklasse der IComponent-Schnittstelle ist Component.

Zu den am häufigsten verwendeten Komponenten im Bereich der .NET Framework-Programmierung zählen die visuellen Steuerelemente, die Windows Forms hinzugefügt werden, z. B. Button-Steuerelement (Windows Forms), ComboBox-Steuerelement (Windows Forms) usw. Zu den nicht visuellen Komponenten zählen u. a. Timer Control, SerialPort und ServiceController.

Wird eine Komponente in C# erstellt, kann diese auch von Clients verwendet werden, die in einer anderen Sprache geschrieben sind, die der CLS (Common Language Specification) entspricht.

Sie können zum Erstellen eigener Komponenten in Visual C# den Komponenten-Designer verwenden, um nicht visuelle Komponentenklassen auf die gleiche Weise zusammenzusetzen wie Windows Forms. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer Windows-Dienstanwendung im Komponenten-Designer.

Weitere Informationen zum Programmieren von Komponenten mit Visual Studio finden Sie unter Komponenten in Visual Studio.

Siehe auch

Weitere Ressourcen

Schreiben von Anwendungen mit Visual C#