Code schnell ergänzen: die Erweiterungsmethoden von C# helfen

Mit Erweiterungsmethoden lassen sich begrenzte Funktionalitäten unkompliziert zum Code hinzufügen. Außerdem umgeht man damit die Probleme, die eine Unterklassifizierung mit sich bringt. ZDNet zeigt, wie man die Methoden in einer statischen Klasse platziert.

Als man sich das erste Mal wirklich mit der objektorientierten Programmierung befasste, war es eines der ersten Ziele, die String-Klasse unterzuklassifizieren und diejenigen Leistungsmerkmale hinzuzufügen, die fehlten. Es wurde schnell klar, dass das Unterklassifizieren von Standardklassen, um zusätzliche Funktionalitäten hinzuzufügen, sich in vielen Fällen nicht lohnt. Das Objekt muss nämlich jedes Mal erneut gecastet werden, wenn es außerhalb seines Codes verwenden werden soll. C# hat in Form von Erweiterungsmethoden eine bessere Lösung für dieses Szenario.

Erweiterungsmethoden sind eine Möglichkeit, zusätzliche Funktionalitäten zu einer vorhandenen Klasse hinzuzufügen, ohne sie unterzuklassifizieren oder Zugang zum Quellcode zu haben. Mit einer einfachen Syntax wird es plötzlich ganz banal, alle benötigten zusätzlichen Funktionalitäten hinzuzufügen, ohne den vorhandenen Code zu sprengen und ohne die Erfordernis zahlreicher Casting-Anfragen.

Sobald eine Erweiterungsmethode erstellt wurde und sich innerhalb des Anwendungsbereichs befindet, ist die Methode für alle Instanzen der Klasse, zu der sie hinzugefügt wurde, verfügbar. In vielerlei Hinsicht bringen Erweiterungsmethoden etwas von der Flexibilität mit sich, die Sprachen wie Ruby und Python ihren Entwicklern geben, arbeiten aber immer noch innerhalb der C#-Sprache.

Fanden Sie diesen Artikel nützlich?
3 von 5 Lesern fanden diesen Artikel nützlich.

Aktuelle Job-Angebote

ZDNet.de Live

Sex ...

Sex Tech: EFF Exposes Dating Site Security, Fileporn Shutdown, Facebook Sex Predator t.co/...

11.02.12, 00:20 von ZDNet
Guinn ...

Guinness World Record for Facebook comments now 1 million t.co/...

11.02.12, 00:20 von ZDNet
Chart ...

Chart Show: "wenn ich Candle in the Wind" höre, denke ich sofort an Lady Di" ... ach? Nein! Wie das nur?!? #gigafail

10.02.12, 23:39 von coke4all
Chrom ...

Chrome for Android -- best mobile browser t.co/...

10.02.12, 22:35 von ZDNet
UL, ...

UL, Drexel University partner to establish research hub t.co/...

10.02.12, 22:15 von ZDNet
wow! ...

wow! ein wirklich schickes Android, das nicht Tablet-Größe hat: t.co/... ... leider nur mäßige technische Daten.

10.02.12, 21:25 von coke4all
Googl ...

Google arbeitet angeblich an Home Entertainment System mit Cloudanbindung t.co/...

10.02.12, 21:10 von zdnet_de
Why ...

Why are young Japanese men losing interest in sex? t.co/...

10.02.12, 20:55 von ZDNet
What ...

What AMD's new roadmap means for users t.co/...

10.02.12, 20:40 von ZDNet
Manch ...

Manchester City is expanding its online reach to Japan t.co/...

10.02.12, 20:35 von ZDNet
Fours ...

Foursquare evolving into one-stop shop with NFC support t.co/...

10.02.12, 20:35 von ZDNet
Websi ...

Website der Gelben Seiten baut Bewertungsfunktionen aus t.co/...

10.02.12, 20:30 von zdnet_de
Motor ...

Motorola: Android-Updates verzögern sich wegen der Hardware-Vielfalt t.co/...

10.02.12, 20:00 von zdnet_de
Aktie ...

Aktienkurse dort wo man sie am liebsten sieht: auf dem Mülleimer! t.co/...

10.02.12, 19:50 von coke4all
Faceb ...

Facebook details Zuckerberg's $500,000 salary, 45% bonus t.co/...

10.02.12, 19:45 von ZDNet
New ...

New Microsoft Office University product comes with tougher verification rules t.co/...

10.02.12, 19:35 von ZDNet
#Prad ...

#Prada Phone by #LG 3.0 ausgepackt und ausprobiert - #smartphone #android t.co/...

10.02.12, 19:30 von cnet_de
Schon ...

Schon im Test: Prada Phone by LG 3.0 mit Android und superhellem Display t.co/...

10.02.12, 19:30 von cnet_de
Beta ...

Beta von Chrome 18 erweitert Hardwarebeschleunigung t.co/...

10.02.12, 19:30 von zdnet_de