Logische Weiterentwicklung und Breaking Changes

Zum Beispiel ist eine Datei mit Namen GlobalUsings.cs denkbar, die so aufgebaut sein kann.

Stellenmarkt
  1. Product Owner (m/w/d)
    get IT green GmbH, Freiburg
  2. IT-Systemadministrator (m/w/d) für Software-Paketierung & -Verteilung
    Dürr IT Service GmbH, Bietigheim-Bissingen
Detailsuche

  1. global using System;
  2. global using System.Collections.Generic;
  3. global using System.IO;
  4. ...

Denkbar ist es auch, etwas aus eigenen Projekten zu importieren, das überall notwendig ist. Zum Beispiel eine Model-Klasse oder Ähnliches. Eine Beschränkung, wie viele Namensräume als globale Usings eingebunden werden, gibt es nicht. Wie IDEs in Zukunft damit umgehen und ob alles korrekt referenziert und angezeigt werden kann, wird sich zeigen müssen. Es ist aber zu erwarten, dass das keine großen Probleme bereitet.

Die Diskussion zu dem Feature auf Github ist recht lebendig und beleuchtet einige Vor- und Nachteile. Die eine Seite scheint sich zu freuen, dass die großen Using-Blöcke am Anfang von vielen Dateien jetzt kleiner werden, da sie eh offensichtlich sind. Die andere Seite sieht darin ein Problem mit der Lesbarkeit und Nachvollziehbarkeit. Wie diese Funktion in der Zukunft angenommen wird, muss sich zeigen.

Golem Karrierewelt
  1. ITIL 4® Foundation: virtueller Zwei-Tage-Workshop
    27./28.06.2022, virtuell
  2. Microsoft 365 Administration: virtueller Drei-Tage-Workshop
    01.-03.06.2022, Virtuell
Weitere IT-Trainings

Das Feature der File-Scoped Namespaces wurde in C# 10 erweitert. Ein Namensraum konnte auch schon vorher eine Klasse umspannen beziehungsweise den Inhalt der Datei. In C# 10 existiert jetzt die Möglichkeit, die Klammern wegzulassen, wie hier:

  1. namespace Deitelhoff.Articles;
  2.  
  3. class GolemArticle
  4. {
  5. // ...
  6. }

Die zusätzlichen Klammern des Namespaces, die vorher die Klasse umschlossen haben, sind ab jetzt nicht mehr notwendig. Die Annahme ist, dass der gesamte Inhalt dieser Datei in diesen Namensraum gehört. Das ist eine kleine, aber nette Vereinfachung, um eine Einrücktiefe zu beseitigen.

Record Structs

Mit C# Version 9 sind Record Classes als Feature hinzugekommen. So ein Typ wird mittels record oder record class definiert. Damit wird ein sogenannter Datensatztyp erstellt, der die angegebenen Eigenschaften besitzt. Entweder über Positionsparameter oder über Standardeigenschaften. Erstere Variante ist hier zu sehen:

  1. public record Person(string FirstName, string LastName);

Das erlaubt die Nutzung einer präzisen Syntax, um unveränderliche Datenmodelle zu erstellen. Diese Datentypen bieten Wertgleichheit an und ansonsten wenig bis gar kein Verhalten. Bei dieser Definition handelt es sich um Verweistypen.

In C# 10 kommt die Möglichkeit hinzu, datenzentrierte Strukturtypen über die Schlüsselwörter record struct zu erstellen und auch über Positionsparameter oder die Syntax von Standardeigenschaften. Hier ein Beispiel:

  1. public record struct Person
  2. {
  3. public string FirstName { get; init; }
  4. public string LastName { get; init; }
  5. }

Diese Record Structs unterstützen das Interface IEquatable<T> und die == Operation. Bei Record-Typen, inklusive record struct und readonly record struct sind zwei Objekte gleich, wenn sie denselben Typ aufweisen und die gleichen Werte enthalten.

C# und .NET 6 - Grundlagen, Profiwissen und Rezepte

Fazit

.NET 6 und C# 10 sind in vielen Fällen logische Weiterentwicklungen der vorherigen Versionen. Gleichzeitig werden aber zahlreiche Features ergänzt, die seit langem gefordert wurden. Auch wenn .NET MAUI noch bis Mitte nächsten Jahres dauern sollte: Die Vorbereitungen sind gemacht.

Wie bei größeren Versionswechseln üblich, gibt es auch in .NET 6 zahlreiche Breaking Changes. Diese Änderungen werden von Microsoft auf einer Website gesammelt und nach Technologiebereich gruppiert. Denn je nach eingesetzter Technologie, zum Beispiel ASP.NET Core oder Windows Forms, können bei der Migration auf .NET 6 unterschiedliche Breaking Changes aufkommen.

Wie gut .NET 6 und C# 10 in der nahen Zukunft ankommen, wird sich zeigen. Die Diskussionen über neue Features sind immerhin lebendig. Auch die Kritik der Community kann etwas bewirken, wie zum Beispiel die von Microsoft geplanten Änderungen des Hot-Reload-Features, die nach massivem Community-Feedback wieder rückgängig gemacht wurden.

Viele Erwartungen und Hoffnungen werden auf .NET MAUI liegen, um .NET auf vielen Plattformen mit einem einheitlichen UI einzusetzen.

Fabian Deitelhoff arbeitet am Centrum für Entrepreneurship & Transfer (CET) der TU Dortmund als Innovations- und Transfermanager. Er hat Brickobotik gegründet und ist als Softwareentwickler und Autor tätig.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 C#: Bisherige Entwicklung und aktuelle Roadmap
  1.  
  2. 1
  3. 2
  4. 3
  5. 4


Lachser 24. Feb 2022

Wo findet man Infos zu diesem !! rsp. wie heisst das Feature? Konnte nichts finden. Ein...

tomatentee 24. Feb 2022

Ich habe da Zweifel. MS kocht halt wieder ein komplett eigenes Süppchen. Man muss da...

tomatentee 24. Feb 2022

Absolut - und offenbar kommt man selbst MS-intern (wo Know-how Austausch, Einblick in...

Trockenobst 22. Feb 2022

Der Witz von MAUI wären eben echte Anwendungen die sich von Mobile bis Desktop gleich...



Aktuell auf der Startseite von Golem.de
Liberty Lifter
US-Militär lässt ein eigenes Ekranoplan entwickeln

In den 1960er Jahren schockten die Sowjets den Westen mit dem Kaspischen Seemonster. Die Darpa will ein eigenes, besseres Bodeneffektfahrzeug bauen.

Liberty Lifter: US-Militär lässt ein eigenes Ekranoplan entwickeln
Artikel
  1. Abo: Spielebranche streitet über Game Pass
    Abo
    Spielebranche streitet über Game Pass

    Nach Kritik von Sony gibt es mehr Stimmen aus der Spielebranche, die Game Pass problematisch finden - aber auch klares Lob für das Abo.

  2. Microsoft: Der Android-App-Store für Windows 11 kommt nach Deutschland
    Microsoft
    Der Android-App-Store für Windows 11 kommt nach Deutschland

    Build 2022 Der Microsoft Store soll noch attraktiver werden. So können Kunden ihre Apps künftig ohne lange Wartezeiten direkt veröffentlichen.

  3. Dev Box: Die schnelle und einfache Entwicklungmaschine aus der Cloud
    Dev Box
    Die schnelle und einfache Entwicklungmaschine aus der Cloud

    Build 2022Das Einrichten einzelner Rechner zur Entwicklung kann viel Aufwand machen. Mit der Dev Box aus der Cloud will Microsoft das vereinfachen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5-Controller (alle Farben) günstig wie nie: 49,99€ • Samsung SSD 1TB 79€ • LG OLED TV 77" 56% günstiger: 1.099€ • Alternate (u. a. Cooler Master Curved Gaming-Monitor 34" UWQHD 144 Hz 459€) • Sony-Fernseher bis zu 47% günstiger • Samsung schenkt 19% MwSt.[Werbung]
    •  /