44 Beitrag/Beiträge
Samstag, 27. Dezember 2025
Ein _logger.LogInformation("Kunde {Id} geladen", id) boxt den Parameter und formatiert die Zeichenkette, selbst wenn die Stufe gar nicht aktiv ist.
Weiterlesen...Dienstag, 16. Dezember 2025
Ein Objekt mit acht Pflichtfeldern führte bisher entweder zu einem unübersichtlichen Konstruktor oder zu Objekten, die halb befüllt herumliegen. Seit C# 11:
Weiterlesen...Dienstag, 02. Dezember 2025
Seit C# 12 gibt es eine gemeinsame Schreibweise für alle Sammlungen:
Weiterlesen...Freitag, 21. November 2025
JsonSerializer.Serialize arbeitet standardmäßig über Reflection. Das kostet beim ersten Aufruf Zeit und funktioniert unter Native AOT gar nicht.
Weiterlesen...Dienstag, 11. November 2025
Seit heute ist .NET 10 verfügbar, und zwar als LTS-Version mit drei Jahren Support. Das ist die Nummer, die zählt, wenn man entscheiden muss, worauf ein Projekt für die nächste Zeit stehen soll.
Weiterlesen...Montag, 03. November 2025
Kleine Hilfsskripte in C# scheiterten bisher daran, dass man ein Projekt anlegen musste. Seit .NET 10 nicht mehr:
Weiterlesen...Freitag, 24. Oktober 2025
HttpClient.Timeout gilt für die gesamte Anfrage, inklusive des Lesens des Antwortkörpers. Bei einem großen Download läuft er also mitten im Übertragen ab, obwohl der Server längst antwortet.
Weiterlesen...Dienstag, 14. Oktober 2025
Autoimplementierte Eigenschaften sind bequem, bis man eine Kleinigkeit im Setter braucht. Ein Trim(), eine Prüfung auf null, ein Standardwert. Ab da schreibt man das Feld wieder selbst:
Weiterlesen...Sonntag, 03. August 2025
Ein ViewModel in WPF besteht traditionell zu zwei Dritteln aus Tipparbeit. Für jede Eigenschaft ein Feld, ein Property mit OnPropertyChanged, für jede Aktion eine ICommand-Implementierung. Bei fünf Eigenschaften und drei Befehlen ist die Datei zweihundert Zeilen lang, und keine davon sagt etwas über die Anwendung aus.
Weiterlesen...Samstag, 28. Juni 2025
DateTime.Now ist der Klassiker unter den untestbaren Abhängigkeiten. Eine Methode, die prüft, ob ein Token abgelaufen ist, lässt sich nicht sinnvoll testen, wenn die Zeit direkt aus der statischen Klasse kommt. Die üblichen Auswege waren ein selbstgebautes IDateTimeProvider-Interface oder ein Test, der eine halbe Minute wartet.
Weiterlesen...