Zum Inhalt springen

Just about .Net

It's just a blog about .Net…

Archiv

Tag: Aargh!

Ich habe mich die letzten Tage ausgiebig mit der Klasse Lazy beschäftigt. Was diese alles kann will ich an der Stelle aber nicht ausgiebig erläutern, denn das habe ich hier schon einmal getan. Grundsätzlich sei nur gesagt, dass sie das verzögerte Instanziieren oder Initialisieren einer Klasse ermöglicht. Dabei bietet sie unter anderem die Möglichkeit eine Factory-Methode zu verwenden und genau diese kann uns so manches Problem bereiten.
Continue reading “Lazy<T> und die Probleme mit Closures” »

Als ich nach Informationen gesucht habe um mein Post zum Thema Exceptions und „as“ zu untermauern, bin ich in der MSDN auf zwei weitere Schlüsselworte gestoßen die ich noch nicht kannte: implicit und explicit

Diese Entdeckung hat mich schon etwas verwundert, sind beide doch seit .Net 2.0 Teil des Frameworks aber mir in den vergangenen Jahren noch nie über den Weg gelaufen. Woran das wohl liegt?

Continue reading “Datenkonvertierung mit <em>implicit</em> und <em>explicit</em>” »

Open Source ohne Internet ist nicht vorstellbar. Wie sollten sich sonst die Leute finden die die Software entwickeln und verwenden wollen? Leider stellt gerade das Netz den Menschen gelegentlich auch ein Bein. Denn letztendlich fördert es die Anonymität und die Verteilung von Ressourcen auch auf negativem Weg.

In Vorbereitung eines Vortrags für die DNUG Leipzig, bin ich über etwas sehr eigenartiges gestolpert. So gibt es vom Isolation Framework NMock nicht nur eine Version sondern derer gleich 4. Nun gut, Versionierung gehört zum Alltagsgeschäft und ist wichtig. Was aber wenn diese Versionen von völlig unterschiedlichen Entwicklern stammen und über das Internet verstreut zu sein scheinen? Continue reading “NMock vs. NMock 2 vs. NMock 2.0 vs. NMock 3” »

Bei Unit Tests ist es manchmal notwendig auch auf private Member zuzugreifen. Dies kann beispielsweise geschehen wenn man ein privates Feld oder eine Property mit einem anderen Wert belegen will oder wenn eine private Methode mehrfach Fehler lieferte und man sie deshalb separat von ihren öffentlichen Aufrufern testen will. Microsoft bietet für MS Tests deshalb die Klasse PrivateObject an, welche den Zugriff auf jedes private Element zulässt. Naja, auf fast jedes…

Continue reading “„Die Tücken des PrivateObject“ oder „MissingMethodException“” »

Zunächst möchte ich mich für den cryptischen Titel entschuldigen, aber mir ist kein besserer eingefallen. Im Grunde spiegelt er eine Frage wieder die ich mir seit einigen Tagen zu beantworten versucht habe, wobei ich aber an einer Eigenart von MS Chart immer wieder gescheitert bin: Komplexität.

Continue reading “MS Chart: Kreisdiagramm - wie kann ich Bestandteile extrahiert darstellen” »

Update - Da diese Seite sehr stark frequentiert ist, möchte ich hier noch auf einen anderen Artikel hinweisen, der zeigt wie man einen Großteil der hier beschriebenen Probleme umgeht: http://www.just-about.net/der-freundliche-singleton


Googelt man Singletons und .NET wird man sehr schnell auf die folgende oder eine ähnliche Implementierung stoßen. Was in diesem Zusammenhang nicht erwähnt wird ist, dass auf diese Weise erstellte Singletons schnell zum Teufelswerk mutieren. Offensichtlich wird es, wenn man den obigen Suchbegriffen noch ein „evil“ hinzufügt. Continue reading “Warum Singletons böse sind” »

Vor Kurzem ist mir etwas Interessantes passiert das wunderbar in die Rubrik Aargh passt. Ein Bug der nach langem Suchen einen wunderbaren Erkenntnisgewinn mit sich brachte.

Zunächst muss man sagen, dass ich angestachelt von meinem neuen Job auch privat StyleCop in Verbindung mit ReSharper verwende um meinen Code sauberer zu gestalten und um nicht evtl. Konflikte bzw. Inkonsistenzen durch unterschiedliches Vorgehen zu riskieren. Die hierbei verwendeten Regeln verlangen, dass alle usings einer Datei innerhalb des entsprechenden Namespaces zu stehen haben. Continue reading “Warum Usings innerhalb von Namespaces verwenden?” »

Zur Zeit verwende ich eine Testlizenz von Resharper, da ich neu in die Firma gekommen bin und mein zukünftiger Rechner noch etwas auf sich warten lässt (Lieferengpässe, Einrichtung…). Nun staunte ich am Montag nicht schlecht, als mir VS2008 nach dem Start mitteilte, mein Testzeitraum sei abgelaufen. Immerhin hatte ich erst 14 der 30 Tage „verbraucht“. Continue reading “Resharper expired -> „Project type is not supported by this installation“” »

Am Wochenende konnte ich endlich wieder ein wenig an meinem privaten Projekt arbeiten und bin voll in eine Anfängerfalle gestolpert. Ich arbeite an einer Art Lottozahlengenerator und habe (natürlich) die Lottozahlen in eine eigene Klasse gepackt um Wertebereichsüberprüfung (Lottozahlen können nur zwischen 0 und 50 liegen) o.ä. direkt im Model abzufrühstücken (SoC) wobei die dahinter liegende Architektur natürlich etwas komplexer ist.

Nun bringt es eine solche kleinteilige Datenhaltungsklasse mit sich, dass verschiedene Basisfunktionalitäten erneut auszuprogrammieren sind. Wie eben die Vergleichsoperatoren, nur hatte ich dort nicht an das böse Null und die Rekursionshexe gedacht.

Continue reading “Operatorüberladung und die Krux mit null” »