39 Beitrag/Beiträge
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...Sonntag, 08. Juni 2025
Ein Sprachmodell weiß nichts über die eigene Datenbank und nichts über die aktuelle Uhrzeit. Tool Calling schließt diese Lücke: Man reicht dem Modell eine Liste aufrufbarer Funktionen mit, es entscheidet, ob und welche es braucht, und bekommt das Ergebnis zurück in den Kontext.
Weiterlesen...Dienstag, 20. Mai 2025
Wer in den letzten zwei Jahren etwas mit Sprachmodellen gebaut hat, kennt das Problem: Jeder Anbieter hat sein eigenes SDK, seine eigenen Typen für Nachrichten und seine eigene Art, Antworten zu streamen. Ein Wechsel von OpenAI zu Azure OpenAI oder zu einem lokalen Modell bedeutet, die halbe Anbindung neu zu schreiben.
Weiterlesen...Dienstag, 18. Februar 2025
In vielen ASP.NET Core-Projekten, egal ob klassisch oder über die Minimal Hosting API, werden API-Antworten mit IActionResult gestaltet, um Fehler wie NotFound(), BadRequest() oder Forbidden() zurückzugeben. Alternativ setzen einige Entwickler auf Exceptions, die dann von einer Middleware abgefangen werden. Beide Ansätze haben jedoch Nachteile.
Weiterlesen...Freitag, 02. August 2024
Discriminated Unions erlauben es, einen Typ zu definieren, der genau eine von mehreren möglichen Formen annimmt. Dieses Konzept, das oft in funktionalen Programmiersprachen zu finden ist und gut zur erweiterten Mustererkennung passt, kann nun in C# genutzt werden, um robusteren und ausdrucksstärkeren Code zu schreiben.
Weiterlesen...Montag, 10. April 2023
Mit .NET 6 kommen zwei Source Generators dazu, die man ohne eigenes Zutun nutzen kann: einer für reguläre Ausdrücke, einer für Logging. Beide erzeugen beim Übersetzen Code, den man sonst selbst schreiben oder zur Laufzeit bauen lassen müsste.
Weiterlesen...