Microsoft a publicat pe 10 septembrie 2026 un ghid tehnic dedicat uneia dintre cele mai importante noutăți din C# 15 și .NET 11: union types și closed hierarchies, integrate cu System.Text.Json și cu principalele suprafețe ASP.NET Core. Schimbarea contează deoarece permite modelarea explicită a unui set finit de rezultate sau stări fără a recurge la convenții fragile, clase auxiliare numeroase ori discriminatori gestionați manual.
În aplicațiile web moderne, același model de date trebuie să circule adesea prin Minimal APIs, MVC, SignalR, Blazor și documentație OpenAPI. Microsoft arată că noile construcții pot fi serializate și descrise coerent în aceste scenarii, ceea ce reduce diferența dintre modelul intern al aplicației și contractul expus clienților. Pentru echipele care dezvoltă API-uri mari, aceasta poate însemna mai puțin cod defensiv și mai puține cazuri în care un client primește o combinație de proprietăți care nu ar fi trebuit să existe simultan.
Union types permit exprimarea directă a ideii că o valoare poate aparține uneia dintre mai multe forme bine definite. Closed hierarchies completează mecanismul prin restricționarea tipurilor derivate admise. Compilatorul și tooling-ul pot astfel să înțeleagă mai bine spațiul de stări posibile, iar dezvoltatorii pot primi semnale mai bune atunci când nu tratează toate variantele.
Pentru ASP.NET Core, impactul practic este vizibil mai ales în endpoint-uri care returnează rezultate diferite în funcție de context: succes, eroare de validare, rezultat parțial sau stări de business distincte. În loc ca aceste cazuri să fie ascunse într-un obiect general cu multe câmpuri opționale, contractul poate deveni mai explicit. În Blazor și SignalR, aceeași abordare poate simplifica mesajele și stările schimbate între client și server.
Analiză: valoarea reală nu este doar sintactică. C# se apropie de modele de tip deja familiare din limbaje funcționale și din ecosisteme moderne, dar o face fără să rupă integrarea cu ASP.NET Core. Pentru proiectele enterprise, avantajul major va depinde de cât de bine vor funcționa generatoarele OpenAPI, clienții generați automat și instrumentele de analiză statică. Dacă acestea păstrează fidel semantica union types, schimbarea poate reduce o clasă întreagă de erori de contract.
.NET 11 Release Candidate 1 a fost publicat pe 8 septembrie și beneficiază de go-live support, ceea ce înseamnă că organizațiile pot începe evaluarea tehnologiei în medii reale înainte de versiunea finală.
Sursa: Microsoft .NET Blog – articolul „Use C# unions and closed hierarchies in ASP.NET Core”, 10 septembrie 2026.
Foto: Taylor Vick / Unsplash.