Version 3.0 von C#: Das sind die fünf wichtigsten Änderungen

In C# kann man keine Typen erben oder erweitern, die mit der Zugriffsmarkierung „sealed“ versehen sind. In der Version 3.0 kann der Entwickler beliebige Klassen erweitern – selbst Klassen, die als „sealed“ markiert sind. Wenn man etwa der String-Klasse eine Methode NoSpaces() hinzufügen wollte, könnte man eine Erweiterungsmethode wie in Listing A definieren.

Listing A:


Wenn diese Erweiterungsmethode in eine Klasse importiert wird, können Entwickler die Methode NoSpaces() für jeden in der Klasse enthaltenen String aufrufen.

Der erste Parameter der Erweiterungsmethode legt fest, für welche Typen die Erweiterungsmethode zur Verfügung steht. In diesem Fall weist „this string data“ darauf hin, dass die Erweiterungsmethode auf die String-Klasse angewandt werden soll. Falls die Erweiterungsmethode mit „this object data“ deklariert werden würde, stünde die Methode für jedes Objekt zur Verfügung.

Um anzugeben, dass Erweiterungsmethoden importieret werden sollen, muss einfach eine using-Anweisung für deren Namensraum eingefügt werden. Soll zum Beispiel die oben beschriebene Methode verwendet werden, ist die Anweisung using MyExtensionMethods in der Klassendatei erforderlich (Listing B).

Listing B:


Zu beachten ist, dass Erweiterungsmethoden Instanzmethoden nachgeordnet sind. Sollte also eine Instanzmethode mit derselben Signatur wie eine Erweiterungsmethode vorhanden sein, wird die Instanzmethode ausgeführt.

Themenseiten: Anwendungsentwicklung, Microsoft, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Version 3.0 von C#: Das sind die fünf wichtigsten Änderungen

Kommentar hinzufügen

Schreibe einen Kommentar

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