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.