Ich mach mir die Welt, wie sie mir gefällt…

Lang, lang ist’s schon wieder her, dass ich zum letzten Mal einen Beitrag geschrieben habe… Drum wird es heute mal wieder Zeit!

Ich möchte euch heute etwas zeigen, was mir meine tägliche Programmierarbeit schon einige Male extrem erleichtert hat. Es geht um sogenannte Extension Methods.

Extension Methods sind Bestandteil von C# 3.0, welches wiederum Teil des
.net Framework 3.5 ist.

Diejenigen unter euch, die sich schon einmal mit VB beschäftigt haben werden die Funktion Left("Irgendein String",9) vielleicht kennen.
Left gibt die ersten X Zeichen eines Strings zurück – beginnend von links.
Man braucht keine besonders helle Kappe zu sein um sich vorstellen zu können, was die Funktion Right, mit derselben Methodensignatur, wohl zurückgeben wird.

Manchmal sind diese Funktionen wirklich praktisch, nur leider gibt es sie nicht in C#.
Ein Zustand mit dem man sich nicht zufrieden geben muss, denn hier kommen unsere Extension Methods zum Einsatz.
Mit Extension Methods können wir Datentypen um unsere eigenen Methoden erweitern.
Klingt komisch?! Ist aber so! :)

Um Left und Right in Zukunft in unserer Applikation nutzen zu können, gehen wir folgendermaßen vor:

  • Wir überlegen uns zunächst, welchen Datentyp wir um die Methoden Left bzw. Right erweitern wollen – Der Datentyp string dürfte hierfür wohl der einzig Sinnige sein.
  • Optional: Ich bevorzuge es sämtliche Extention Methods eines Datentypen in eine eigene Codedatei zu schreiben – Dies hilft euch auch bei vielen Extension den Überblick zu behalten. Die Codedatei nenne ich StringExtensions.cs
  • Kommen wir zum Code – Dort schreiben wir folgendes:

    Wir erstellen also nun eine statische Klasse mit dem Namen StringExtensions.
    Innerhalb der statischen Klasse erstellen wir eine statische Methode mit dem Namen Left – Übergabeparameter sind der zu verarbeitende String und die Anzahl an Zeichen, die zurückgegeben werden sollen.
    Wichtig ist nun aber das this vor unserem String-Parameter!
    Dieses kleine Wörtchen sorgt dafür, dass unser Datentyp erweitert wird und der Compiler weiß was zu tun ist, wenn wir nun folgendes ausführen:

Mit wenig Aufwand haben wir nun also eine Methode in einen Datentypen implementiert.

Diese Technik erlaubt es uns nun alles, was uns bisher in C# gefehlt hat, zu ergänzen!
Ob ich nun eine GetRandomItem() Methode in Array Datentypen integriere, eine ToUnixTimeStamp() Methode im Datentyp DateTime unterbringe oder eine ToBitString() Methode im Datentyp byte, ganz egal – Ich kann mir die Welt so machen, wie sie mir gefällt!

Noch ein kleiner Tipp von meiner Seite – Legt euch für eure Extensions eine eigene Klassenbibliothek an, so könnt ihr diese später in anderen Projekten immer wieder verwenden.

Wenn euch dieser Beitrag geholfen hat und ihr nun fleißig Datentypen erweitert, dann würde ich mich freuen, wenn Ihr in den Kommentaren kurz schreibt, welche Methoden ihr bei euch ergänzt habt.

Veröffentlicht unter Coding

Wat? Wer bist du denn?

So, heute nutze ich einmal die Gelegenheit und schreibe meinen allerersten mehr oder weniger ordentlichen Blogpost!

Ich möchte dich, lieber Besucher erst einmal ganz herzlich begrüßen!

Wahrscheinlich kennst du mich persönlich und bist daher auf diesen, zugegeben bisher relativ uninteressanten, Blog gestoßen.
Sollte das nicht der Fall sein, so möchte ich mich kurz vorstellen.

Mein Name ist Pascal Kirtz, ich bin ’86 Baujahr und lebe im wunderschönen Sauerland.
Ich konnte mich schon immer für das Thema “Computer” faszinieren, habe schon in meiner Kindheit an PCs geschraubt und hatte bereits mit 10 oder 11 Jahren meine erste Homepage.
Ich bin gemeinsam mit dem Internet, das damals auch noch niemand kannte, aufgewachsen und kenne das selbige wie meine Westentasche. Dort wo die Kanzlerin in 2013 Neuland betritt, fühle ich mich seit eh und je heimisch!

Mit der ersten Homepage wurde mein Interesse am Programmieren geweckt und so folgte bald die erste von mir erstellte Webseite mit PHP!
<sarkasmus>Zur besseren Übersicht natürlich alles in einer Codezeile geschrieben :)</sarkasmus>
Von der Programmiererrei bin ich bis heute nicht mehr losgekommen und so verdiene ich heute meine Brötchen als Anwendungsentwickler.
Diesem Blog habe ich daher auch eine Kategorie “Coding” gewidmet.

Einen Teil meiner Freizeit verbringe ich zudem seit einigen Jahren auf dem Flugplatz Meschede-Schüren und gehe dort dem Segelfliegen nach.
Ich habe mit 14 Jahren die Ausbildung zum Segelflugzeugführer angefangen und bin seit vielen Jahren stolzer Besitzer der “Glider Pilot Licence“. In der Kategorie “Gliding” werde ich über meine Erlebnisse bei der Ausübung dieses schönen Hobbys berichten.

Die letzte Kategorie dieses Blogs lautet “Nature” und soll euch über interessante Dinge berichten, die ich im “blauen Raum” (Für die nicht IT-ler, das ist alles außerhalb des Computerkellers) gesehen und erlebt habe.

So das war dann auch schon der erste Post!
Wenn ich noch Fragen an mich habt, so könnt ihr diese gerne in den Kommentaren stellen – Ich freue mich drauf! :)