Blazor 24.06.2025, 08:01 Uhr

Schwieriges Verhältnis: Switch-Ausdrücke und Blazor

Die Kombination aus Switch-Ausdrücken und Blazor kann zu Problemen führen. Aber es gibt Alternativen.
(Quelle: EMGenie)
In Blazor stößt man manchmal auf unerwartete Einschränkungen, insbesondere wenn es um die Verwendung von Switch-Ausdrücken in der Anwendung geht. Laut einem Blogbeitrag von Steven Giesel können Switch-Ausdrücke, die in C# 8.0 eingeführt wurden und eine prägnantere Schreibweise für die Bedingungsauswertung bieten, in bestimmten Fällen nicht wie erwartet in Blazor eingesetzt werden.
Der Autor erklärt, dass der C#-Compiler in der Lage ist, diese Ausdrücke zu verarbeiten. Die Umwandlung in einfachen if-else-Anweisungen erfolgt, doch der Blazor-Quellcodegenerator hat Schwierigkeiten, diese Ausgaben richtig zu interpretieren. Dies führt zu einer Vielzahl von Kompilierungsfehlern, die Entwickler vor Herausforderungen stellen. Er zeigt Beispielcode, um zu verdeutlichen, was aus solchen Ausdrücken resultieren kann und welche Alternativen zur Verfügung stehen. Wenn man
public string GetGreeting(string name)
{
  return name switch
  {
    "Alice" => "Hello, Alice!",
    "Bob" => "Hello, Bob!",
    _ => "Hello, stranger!"
  };
}
in Blazor verwendet, erscheinen häufig Fehler wie "Invalid expression term" oder "Syntax error". Um diesen Problemen zu entgehen, empfiehlt der Autor, entweder zu den klassischen if-else-Anweisungen zurückzukehren oder Switch-Anweisungen zu verwenden.


Das könnte Sie auch interessieren