01.11.2010
(K)eine teure Angelegenheit
In nahezu jeder Diskussion über Exceptions fällt irgendwann die Bemerkung, sie seien „(zu) teuer“. Doch was bedeutet das? Ab wie vielen Ausnahmen leidet die Ausführung eines Programms? Und warum? Gilt diese Aussage denn überhaupt? Oder handelt es sich vielleicht eher um einen modernen Mythos?
weiterlesen
01.10.2010
IArithmetic
Die Schnittstelle IArithmetic schmückt alle Typen, die sich in Berechnungen verwenden lassen. Dies ist beispielsweise für generische Methoden praktisch, denn IArithmetic beschränkt Parameter auf Typen, für welche die vier Grundrechenarten zur Verfügung stehen. Sie kennen IArithmetic nicht? KeinWunder: IArithmetic gibt es nicht.
weiterlesen
01.09.2010
Operator Overloading 101
Während wohl jeder Entwickler schon Methoden überladen hat, sieht das bei Operatoren ganz anders aus. Dabei birgt das Thema ungeheures Potenzial. Es zu verstehen kann nicht nur zu effizienterem Code führen, sondern macht auch die Hintergründe von .NET und seinen Sprachen verständlicher.
weiterlesen
01.09.2010
„Wir müssen abwarten, was Java 7 leisten wird“
Das .NET Framework ist sicherlich noch nicht in die Jahre gekommen, aber die Jugendzeit hat es definitiv hinter sich. Jon Skeet ist MVP für C#,Autor des Buches „C# in Depth“ und weiß, was .NET im Innersten zusammenhält. dotnetpro-Autor Golo Roden hat mit ihm über C#, über funktionales Programmieren und über die Zukunft der Programmiersprache gesprochen.
weiterlesen
01.08.2010
Murphy?s Law hoch 10
Eine Scheibe Brot fällt immer auf die belegte Seite, eine Katze dagegen landet unbeschadet immer auf den Pfoten – so sagt es jedenfalls der Volksmund. Auch wenn weder das eine noch das andere je naturwissenschaftlich nachgewiesen wurde, gilt beides – zumindest in gewissem Sinne – als Gesetz. In der Informatik gibt es ebenfalls vermeintliche, aber auch empirische und tatsächliche Gesetze. dotnetpro stellt die zehn für die Softwareentwicklung wichtigsten Gesetze vor.
weiterlesen
01.08.2010
Gleich und doch nicht dasselbe
Zwei Werte in C# auf Gleichheit zu prüfen ist ein Leichtes: Hierfür gibt es den Operator ==…und die Methode Equals() ... und die statische Methode ReferenceEquals() ... und die IEquatable-Schnittstelle ... und die IComparable- sowie die IComparable-Schnittstellen, die auch noch irgendeine Rolle spielen – aber welche?
weiterlesen
01.07.2010
V ... wie virtual
Das Schlüsselwort virtual dient dazu, ein Element eines Typs als virtuell zu deklarieren. Diese Erklärung ist korrekt, erläutert aber nicht, was es in letzter Konsequenz bedeutet, wenn ein Element als virtuell deklariert wird: wie sich dieses Schlüsselwort bei Übersetzung und Laufzeit auswirkt, wann sich sein Einsatz empfiehlt und wann nicht.
weiterlesen
VIP-Tipp
01.07.2010
Unbedingt lesen!
Im VIP-Tipp stellt ein Experte Bücher vor, die er persönlich für besonders lesenswert hält. Der VIP-Tipp soll als Entscheidungshilfe für Softwareentwickler bei der Auswahl der passenden Fachlektüre dienen. Die Aktion ist eine Kooperation zwischen der Fachbuchhandlung Lehmanns (www.lob.de/viptip), dem Seminaranbieter Professional Developer College (www.prodevcollege.de) und dotnetpro (www.dotnetpro.de).
weiterlesen
01.06.2010
beforefieldinit
Visual Studio kann es, ildasm.exe kann es, und .NET Reflector kann es auch – aus kompilierten Assemblies wieder lesbaren MSIL-Code machen. Das Interessante daran:Auch wer MSIL nicht kennt, versteht die meisten Anweisungen auf Anhieb.Ausnahmen bestätigen die Regel – wie das Schlüsselwort beforefieldinit.
weiterlesen
01.06.2010
Der Mensch im Mittelpunkt
Agile Methoden unterscheiden sich imWesentlichen durch ihre Praktiken.Während etwa Extreme Programming alle Entwickler in die Verantwortung nimmt, ordnet das „Feature-Driven Development“ jeder Klasse einen einzigen Eigentümer zu. Scrum lässt die Frage unbeantwortet.Aber allen liegt ein gemeinsamesWertesystem zugrunde.
weiterlesen