Tag Archives: Novinky

Novinky v .NET 11 a C# 15 [Robert Haken, WUG Days Brno, 2.9.2026]

Co přinese .NET 11 a C# 15? Union types, closed hierarchies, async validace, LINQ Full Join a novinky v Blazoru v praxi.

Záznam přednášky z konference WUG Days Brno z 2. září 2026. Přehled novinek přicházejících v listopadu s .NET 11 a C# 15 – se zaměřením na to, co se hodí při každodenním psaní kódu.

Co se dozvíte

  • Release cycle .NET – konec podpory .NET 8 a 9, STS/LTS
  • Rekapitulace C# 14 – extension members, klíčové slovo field, null conditional assignment (?=)
  • C# 15 – union types a exhaustive pattern matching (výsledky API bez výjimek)
  • C# 15 – closed hierarchies (closed class) a výhled na closed enums
  • C# 15 – collection expressions s parametry konstruktoru (with), extension indexery, labely pro break/continue
  • Výhled na C# 16 – dictionary expressions, inline union types
  • Runtime – runtime-native async, JIT optimalizace, Blazor WebAssembly na CoreCLR místo Mono
  • BCL – Process.Run, StringStream, Rune API, Base64, LINQ Join bez result selectoru a nový FullJoin, EqualityComparer.Create
  • System.Text.Json – naming policy per property, podpora union types
  • Konfigurace – [ConfigurationIgnore], validace options přes službu z DI
  • Asynchronní validace – AsyncValidationAttribute, IAsyncValidatableObject (Minimal API i Blazor)
  • SDK – dotnet run -e pro environment variables, include souborů ve file-based apps
  • Blazor – DisplayName komponenta, TempData a Session v SSR, CacheView, vylepšený Virtualize

Slides

Novinky v .NET 10 a výhled na .NET 11 [WUG Dev Day Praha, 26.1.2026]

Záznam z přednášky pro konferenci WUG Dev Day Praha z 26. ledna 2026.

Co se dozvíte

  • .NET 10/11 timeline – STS prodlouženo na 2 roky, LTS na 3 roky
  • C# 14 – extension members: nová syntaxe s klíčovým slovem extension
  • C# 14 – klíčové slovo field v getter/setter, null conditional assignment (?=)
  • C# 14 – partial constructors/events, user-defined compound assignment operátory
  • .NET 10 Runtime – JIT devirtualizace, deabstrakce a výkonové optimalizace
  • BCL – string comparer s numeric ordering, LINQ left/right join, WebSocket stream
  • System.Text.Json – cyclic references v source generators, strict preset
  • SDK – dotnet tool exec, file-based apps (jednořádkové C# scripty), package pruning
  • ASP.NET Core – OpenAPI 3.1, validace na Minimal API, ochrana před open redirect
  • Blazor – přehled nejvýraznějších novinek v .NET 10
  • Výhled na .NET 11 a C# 15

Slides

Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Days Brno 9/2025]

Záznam z přednášky pro konferenci WUG Days Brno z 5.9.2025, kde jsem telegraficky představoval novinky z „.NET 9 vlny“ a pár přicházejících v „.NET 10 vlně“.

Slides

Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Dev Day, 28.2.2025]

Záznam ze Vzdělávacího okénka HAVIT z 28. února 2025, kde jsem telegraficky představoval novinky z „.NET 9 vlny“ a přicházející v „.NET 10 vlně“.

Slides

Novinky v .NET 9 – záznam a slides [Robert Haken, WUG Days Brno, 5.9.2024]

Záznam ze Vzdělávacího okénka HAVIT z 5. září 2024, kde jsem telegraficky představoval novinky přicházející v „.NET 9 vlně“.

Slides

Blazor novinky v .NET 8 + Blazor Performance Tuning – záznam a slides [Robert Haken, WUG Dev Day, 4.2.2024]

Záznam ze Vzdělávacího okénka HAVIT z 8. listopadu 2023, kde jsem telegraficky představoval novinky přicházející v „.NET 8 vlně“.

Slides

Novinky v .NET 8 – záznam a slides [Robert Haken, Vzdělávací okénko, 8.11.2023]

Záznam ze Vzdělávacího okénka HAVIT z 8. listopadu 2023, kde jsem telegraficky představoval novinky přicházející v „.NET 8 vlně“.

Slides

Novinky v C# 11, [ASP].NET 7 a Blazor – záznam, slides a dema [Robert Haken, FreshIT Praha 2023]

Záznam z přednášky pro konferenci FreshIT Praha z 30. března 2023, kde jsem povídal o novinkách v platformě .NET v poslední verzi 7.

Dema

Slides

C# 5: Caller Info Attributes

Zajímavá novinka v C# 5 poslouží například k logování. Následující příklad funguje ve Visual Studio 11 Beta

  class Program
    {
        static void Main(string[] args)
        {
            Log("Message");
        }

        static void Log(string message,
            [CallerMemberName] string callerMemberName = "",
            [CallerFilePath] string callerFilePath = "",
            [CallerLineNumber] int callerLineNumber = 0)
        {
            Console.WriteLine(message);
            Console.WriteLine(callerMemberName);
            Console.WriteLine(callerFilePath);
            Console.WriteLine(callerLineNumber);
        }
    }

Výstupem je např:

Message
Main
d:\Development\CallerAttributes\CallerAttributes\Program.cs
14