Alle Beiträge der Kategorie c#

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.

Diese Woche bin ich auf Visual Studio 2012 umgestiegen.

Als ich heute das erste Mal Unit-Tests mit Visual Studio 2012 erstellen wollte, konnte ich die gewohnte Option im Kontextmen√ľ des Quellcode-Editors nicht finden.

Also Tante Google gefragt, mit dem Ergebnis: Die Option wurde von Microsoft ersatzlos entfernt.

Nach längerem Suchen konnte ich dann doch eine Lösung finden:

Unit Test Generator f√ľr Visual Studio 2012 / 2013

UPDATE 09.02.2016

In Visual Studio 2015 ist die automatische Generierung von UnitTests wieder enthalten!

Gestern habe ich das Upgrade auf Windows 8.1 √ľber den Microsoft Store installiert.

Etwas erstaunt war ich, als ich gesehen habe, das zwar die korrekte Windows-Versionsnummer 6.3 in der Eingabeaufforderung beim „ver“ Kommando angezeigt wird, aber meiner .Net Anwendungen immer noch die Windows 8 Versionsnummer 6.2 ausgegeben haben.

Tante Google hat mich aufklären können: laut dem Artikel http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074%28v=vs.85%29.aspx sind die Funktionen GetVersion() und GetVersionEx() zum Ermitteln der Windows-Version ab Windows 8 deprecated.

Workaround: entweder gibt man im Anwendungsmanifest wie im Artikel beschrieben an, dass Windows 8.1 das Anwendungs-Target ist, oder man liest die Versionsnummer einfach aus der Registry (Schl√ľssel¬†SOFTWARE\Microsoft\Windows NT\CurrentVersion, Wert „CurrentVersion„).

Um auf √Ąnderungen des Powermodus zu reagieren, gibt es das Event PowerModeChanged. Diesem weist man beim Programmstart einen Eventhandler zu: