Programmiersprache

Primärkonstruktoren in C# erleichtern den Code-Refactoring-Prozess

von - 25.04.2024
Foto: dotnetpro
Zusammenfassen, was zusammen gehört: Dabei helfen die in C# 12 neu eingeführten Primärkonstruktoren, indem sie Code kürzer und klarer machen.
C# 12 hat eine Reihe neuer Funktionen eingeführt, darunter die Primärkonstruktoren (Primary Constructors). Sie ermöglichen es, eine Klasse oder Struktur zusammen mit ihrem Konstruktor in einer einzigen, prägnanten Deklaration zu definieren. Dies hilft dabei, den Code zu reduzieren, den Sie normalerweise schreiben müssten.
Die schon bekannten Record-Typen können einen Primärkonstruktor enthalten. Im Gegensatz zu herkömmlichen Klassen oder Strukturen, bei denen die Parameter des Primärkonstruktors im gesamten Klassendefinitionsbereich zugänglich sind, sind Record-Typen transparente Datencontainer. Sie unterstützen standardmäßig wertebasierte Gleichheit und sind darauf ausgelegt, Daten zu halten. Daher ist es logisch, dass die Parameter des Primärkonstruktors als Eigenschaften zugänglich sind.
namespace Example.Worker.Service
{
  public class Worker(ILogger<Worker> logger) : BackgroundService
  {
    protected override async Task ExecuteAsync(
      CancellationToken stoppingToken)
    {
      while (!stoppingToken.IsCancellationRequested)
      {
        if (logger.IsEnabled(LogLevel.Information))
        {
          logger.LogInformation(
            "Worker running at: {time}", DateTimeOffset.Now);
        }
        await Task.Delay(1000, stoppingToken);
      }
    }
  }
}
Der große Vorteil eines Primärkonstruktors ist, dass er Code zusammenfasst und damit kürzer und klarer macht. Die Parameter sind direkt im Konstruktor sichtbar, was die Wartung erleichtert und die Fehleranfälligkeit verringert.
Mehr dazu enthält der Beitrag auf den DevBlogs
Verwandte Themen