Kategorie: Programmierung

Visual Studio Express zum offline installieren herunterladen

Den Installer von Visual Studio 2015 Express gibt es leider nicht in einer Offline-Version, auch ein ISO-Image sucht man leider vergeblich.

Es gibt aber die Möglichkeit, sich die Installationsdateien mithilfe des Webinstallers zunächst komplett herunterzuladen, um sie dann später auf einem Rechner ohne bzw. mit einem langsamen Internetzugang zu installieren.

Dazu ruft man einfach den Webinstaller von der Command Line mit dem Parameter /Layout auf. Man kann dann den Speicherort für die Installationsdateien auswählen. Die kompletten Dateien für Visual Studio Express für Desktop (Deutsch) belegen fast 10 GB, also zuviel für eine handelsübliche DVD. Zum Transport der Dateien muss also dann ein ausreichend großer USB-Stick oder eine externe Festplatte benutzt werden.


Visual Studio 2015 Express kommerziell nutzbar?

Seit Visual Studio 2015 wird für private Entwickler die Community-Edition von Visual Studio angeboten. Diese bietet viele Features der Professional-Version, darf jedoch nur von Privatpersonen und von Firmen, die weniger als 250 Mitarbeiter haben bzw. nicht mehr als 1 Mio. US-$ Jahresumsatz haben, kostenlos eingesetzt werden.

Die Express-Variante ist jedoch noch zu haben, auch wenn Microsoft diese mittlerweile gut versteckt.

Die Express-Variante von Visual Studio findet man unter https://www.visualstudio.com/vs/visual-studio-express/. Dort sollte man zunächst lang nach unten scrollen und links unten auf „English“ klicken, um dann die bevorzugte Sprache (z.B. Deutsch) auszuwählen, damit man dann auch den Installer in der gewünschten Sprache herunterladen kann.

Danach findet man etwas weiter unten auf der Seite die Links zum Download der Webinstaller für Visual Studio 2015. Hier muss man sich entscheiden, ob man Visual Studio für die Desktop-, Web-, oder Windows 10-App-Entwicklung nutzen will. 

Klickt man dann den jeweiligen Link an, wird ein Webinstaller heruntergeladen.

Auf der Seite ist auch angegeben, dass sich die Express-Version kostenlos zur kommerziellen Entwicklung einsetzen lässt:

VSExpress_kommerziell


Alle Eigenschaften eines Objekts ermitteln

Als ich wieder mal die ToString() Methode für ein Objekt überladen habe, um die Eigenschaften eines Objekts schön formatiert auszugeben, habe ich mich gefragt, ob es vielleicht sinnvoller ist, die Eigenschaften über Reflection zu suchen, statt die Eigenschaften manuell zusammenzuschreiben. Das hat den Vorteil, dass man keine Eigenschaft vergisst, wenn man das Objekt später mal erweitern sollte.

Also habe ich Google um Rat gefragt und einer der ersten Suchtreffer war bei StackOverflow, seit einigen Jahren meine bevorzugte Quelle für Code-Snippets.

Den dort vorgefundenen Code habe ich mal für ein Beispiel für den beschriebenen Anwendungsfall adaptiert:

Das Ergebnis sieht so aus:

Name:Semmler
Plz:55435
Stadt:Gau-Algesheim
Strasse:Rheinstraße 40
Vorname:Patrick

Hinweis

Die Methode GetValue() benötigt vor .Net 4.5 noch einen weiteren Parameter Object[] index , der bei nicht indizierten Properties null sein muss.


Erweiterungsmethoden in c# – Syntaxzucker, der schlank macht ;-)

Seit ich in C# die Erweiterungsmethoden kennengelernt habe nutze ich sie, um meinen Code übersichtlicher zu machen.

Was sind Erweiterungsmethoden?

Mit Erweiterungsmethoden hat man die Möglichkeit, den Instanzen von Objekten, deren Quellcode man nicht zur Verfügung hat und von denen man keine eigenen Objekte ableiten kann oder will, eigene Methoden (Erweiterungsmethoden) hinzuzufügen.

Dafür ein einfaches Beispiel: Wenn ich in meinem Code oft eine Zahl runden muss, dann kann ich entweder jedes Mal die Methode Math.Round() mit den entsprechenden Parametern aufrufen oder ich schreibe einmalig eine Erweiterungsmethode:

Auf diese Erweiterungsmethode kann ich dann – vorausgesetzt, der entsprechende Namespace, in dem die Erweiterungsmethode liegt, ist referenziert – einfach im Kontext des zu rundenden Werts zugreifen:

Im Vergleich, der Aufruf ohne Erweiterungsmethode:

Was muss man nun genau machen, wenn man Erweiterungsmethoden erstellen will?

Zunächst braucht man eine eigene Klasse dafür. Diese kann z.B. ExtentionMethods, Extentions, Erweiterungsmethoden etc. heißen, wie ihr wollt.

Nach Erstellen der Klasse muss sie die Modifizierer public und static erhalten, damit die Erweiterungsmethoden auch erkannt werden.

Die Erweiterungs-Methoden selbst müssen auch die Modifizierer „public static“ haben.

Eine Erweiterungsmethode hat immer mindestens einen Parameter, dem das Schlüsselwort this vorangestellt wird. Dieses Schlüsselwort legt fest, bei welchem Objekttyp die Erweiterungsmethode verfügbar sein wird.

Will man eine Erweiterungsmethode für mehrere Datentypen (z.B. double und decimal) erstellen, muss man die Methode mehrmals erstellen, einmal für jeden Datentyp.

Weitere Informationen gibt es im MSDN.