Jonathan Allen
23.06.2022, 09:00 Uhr
C#: Warning Waves deuten auf neue Schlüsselwörter hin
Wie C# 9 und 10 hat auch C# 11 im Stillen eine neue Compiler-Warnung hinzugefügt. Diese Opt-in-Warnung verhindert die Verwendung von Typnamen (zum Beispiel Klassen, Strukturen und Schnittstellen), die klein geschrieben sind.
Die Warning Waves wurden eingeführt, damit Microsoft in Zukunft leichter neue Schlüsselwörter hinzufügen kann. Da C#-Schlüsselwörter immer nur aus ASCII-Kleinbuchstaben bestehen, verhindert das Einfügen eines Großbuchstabens, dass der Typname jemals mit einem zukünftigen Schlüsselwort kollidiert. Die Dokumentation der Warnung geht allerdings nicht im Detail darauf ein, welche Schlüsselwörter in Frage kommen.
Die C#-Toolchain hat ihre Meldungen bis C# 8 in drei große Typen unterteilt: Compilerfehler, Compilerwarnungen und Warnungen der statischen Analyse. Fehler sind Showstopper, die den Compiler daran hindern, seine Arbeit abzuschließen. Compiler-Warnungen weisen darauf hin, dass ein schwerwiegendes Problem besteht, der Compiler aber dennoch eine Ausgabedatei erzeugen kann. Sie sind standardmäßig aktiviert, können aber ignoriert werden. Der letzte Typ ist im Wesentlichen "alles andere". Fehler bei der statischen Analyse sind nicht standardmäßig aktiviert.
Ab C# 9 hat Microsoft das Konzept der C# Warning Waves eingeführt. Dabei handelt es sich um zusätzliche Compiler-Warnungen, das heißt Sie müssen kein weiteres Tool oder Paket installieren, aber sie sind standardmäßig nicht aktiviert. Um sie zu verwenden, müssen Entwickler den Analysis-Level in der Projektdatei auf 5 oder höher setzen.
Weitere Hintergründe dazu erfahren Sie in diesem englischsprachigen Artikel von Jonathan Allen.