.NET Core на .NET 11В C# 15 можно описать тип с несколькими допустимыми вариантами:
public union IntOrString(int, string);
Такой endpoint может вернуть либо число, либо строку:
app.MapGet("/max-unavailable", () => new IntOrString(2));
JSON останется обычным:
2
или:
"25%"
Без $type и дополнительных обёрток.
Главный плюс — компилятор проверяет, что switch обработал все варианты union.
Поддерживается в Minimal APIs, MVC, SignalR, Blazor и OpenAPI.
📍 Навигация: Вакансии • Задачи • Собесы
🐸Библиотека шарписта
#async_news