Softwareentwicklung: C# 11 im Praxiseinsatz
C# bringt in Version 11 Neuerungen bei der Typdeklaration, bei Zeichenkettenliteralen und Operatoren. Ein Ăśberblick.
- Dr. Holger Schwichtenberg
Die elfte Version von Microsofts wichtigster Programmiersprache ist mit .NET 7 im November 2022 erschienen. Der Artikel zeigt den Einsatz der wichtigsten neuen Sprachfeatures an einigen Beispielen.
Mit C# 11.0 gibt es für .NET-Typen die Sichtbarkeit (Scope) file zusätzlich zu den bisher bekannten public, private, protected, internal, protected internal und private protected. Mit dem neuen Schlüsselwort file versehene Schnittstellen, Klassen, Strukturen, Enumerationen, Delegates und Records sind nur innerhalb der Datei sichtbar, in der sie deklariert werden. Für eingebettete Typen ist file nicht erlaubt.
Auf den ersten Blick widerspricht die Sichtbarkeit file den von Microsoft seit Jahren gepredigten Best Practices, pro Datei nur einen einzigen Typ zu deklarieren. Wenn man diesen einen Typ dann mit dem Zusatz file ausstattet, ist er außerhalb der Datei nicht sichtbar und damit überflüssig. In der Praxis kann es aber durchaus sinnvoll sein, mehrere kleinere Typen in einer Datei zu deklarieren, etwa weil eine Klasse eine eigene persönliche, nur für diese Klasse geltende Datenstruktur in Form einer anderen Klasse oder eines Record-Typs erhält. Microsoft hat den Scope file für die Source Generators eingeführt: Sie sollen Hilfsklassen erzeugen können, ohne in Konflikt mit anderen Generatoren zu geraten.