Entwicklung & Code

Neu in .NET 9.0 [31]: Verbesserte Ausgabe bei Debug.Assert()


Die altbekannte Methode Debug.Assert() bietet eine kleine Verbesserung in .NET 9.0: Beim Fehlschlagen der übergebenen Bedingung sehen Entwicklerinnen und Entwickler in der Ausgabe die komplette fehlgeschlagene Bedingung.




Dr. Holger Schwichtenberg ist technischer Leiter des Expertennetzwerks www.IT-Visions.de, das mit 53 renommierten Experten zahlreiche mittlere und große Unternehmen durch Beratungen und Schulungen sowie bei der Softwareentwicklung unterstützt. Durch seine Auftritte auf zahlreichen nationalen und internationalen Fachkonferenzen sowie mehr als 90 Fachbücher und mehr als 1500 Fachartikel gehört Holger Schwichtenberg zu den bekanntesten Experten für .NET und Webtechniken in Deutschland.

So kam beispielsweise bei


var x = 42;
var y = 42;
…
Debug.Assert(x > 0 && y < 0);


vor .NET 9.0 diese Nachricht:

Assertion failed.
at Program.SomeMethod(Int32 a, Int32 b)

Nun sehen Entwicklerinnen und Entwickler seit .NET 9.0 eine ausführlichere Information:

Assertion failed.
x > 0 && y < 0
at Program.SomeMethod(Int32 a, Int32 b)

Damit dies funktioniert, gibt es eine neue Überladung der Methode Debug.Assert() mit der Annotation [CallerArgumentExpression] vor dem zweiten Parameter:


public static void Assert([DoesNotReturnIf(false)] bool condition, 
  [CallerArgumentExpression("condition")] string? message = null);


Vor .NET 9.0 konnte man dies nur erreichen, indem man die Bedingung noch einmal explizit als Zeichenkette angab:


Debug.Assert(x > 0 && y < 0, "x > 0 && y < 0");



(rme)



Source link

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Beliebt

Die mobile Version verlassen