Beispiele zur Programmiertechnik in .NET

CompareOperator

.NET stellt eine reiche Auswahl an Auflistungsklassen zur Verfügung. Instanzen der Klasse ArrayList können Objekte unterschiedlichen Datentyps aufnehmen. Um die in der Liste abgelegten Objekte zu sortieren, kann die Methode Sort der Auflistung aufgerufen werden, wobei im Parameter der Methode ein Vergleicher übergeben wird. Ein Vergleicher dient zum Vergleichen zweier Objekte und gibt Informationen über die Reihenfolge der beiden zu vergleichenden Objekte zurück. Vergleicher implementieren die Schnittstelle IComparer, der Code zum Durchführen des Vergleichs wird in der Prozedur Compare abgelegt. Je nach Ergebnis des Vergleichs der beiden in die Prozedur hereingereichten Objekte gibt die Methode einen anderen Wert zurück.

In unserem Beispiel verwalten wir in einer Arrayliste mehrere Objekte, die durch ihr Gewicht, ihren Wert und einen Namen beschrieben werden. Der in der Klasse ValueComparer implementierte Vergleicher dient dazu, die Objekte nach ihrem Nutzen zu sortieren. Der Nutzen eines Objekts errechnet sich durch Bildung des Quotienten aus Wert und Gewicht.

Beispielprojekt (CompareOperator.zip)

Projekt im Visual-Basic-.NET-2003-Format.

RaiseBaseEvent

In Visual Basic .NET und C# ist es nicht direkt möglich, daß eine Unterklasse ein Ereignis, das in einer ihrer Oberklassen definiert wurde, auslöst. Stattdessen soll in der Oberklasse, in der das Ereignis definiert wird, eine als Protected markierte Methode definiert werden, die Ereignis auslöst. Diese Methode wird dann von der Unterklasse mit dem entsprechenden Parameter aufgerufen, um das Ereignis auszulösen. Diese Methoden zum Auslösen eines Ereignisses werden üblichweise mit »On«, gefolgt vom Namen des ausgelösten Ereignisses, benannt.

Beispielprojekt (RaiseBaseEvent.zip)

Projekt im Visual-Basic-.NET-2003-Format.

PlugIns

Dieses Beispiel demonstriert zwei Techniken, die verwendet werden können, um eine Anwendung erweiterbar machen kann. Dazu können Erweiterungen in Form von DLLs entwickelt werden, die entweder eine Schnittstelle der Hauptanwendung implementieren oder über spätes Binden eingebunden werden. Das Beispiel enthält den Code für die Hauptanwendung, die Unterstützung für die Erweiterungen und eine Beispielerweiterung.

Beispielprojekt (PlugIns.zip)

Projekt im Visual-Basic-.NET-2003-Format.