C# 10 Yenilikleri – Extended Property Patterns

C# 10 ile gelen küçük yeniliklerden biri de Extended Property Patterns.

C# 8 ile hayatımıza property pattern özelliği girmişti hatırlarsanız, iç içe olan property’lere süslü parantezler kullanarak erişebiliyorduk.

if (p is Person { Name: "Soner", Address: { City: "İstanbul" } })

Ama bu kullanım, bir çok iç içe property içeren yapılarda çok fazla süslü parantez olması nedeniyle okunurluğu azaltıyordu.

C# 10’da gelen extended property patterns ile, artık süslü parantez kullanmadan direkt olarak nokta notasyonu ile bu property’lere erişim sağlayabiliyoruz pattern’lar içerisinde.

if (p is Person { Name: "Soner", Address.City : "İstanbul" })

Bu yapıda da iç içe property’lerde null kontrolü var. Yani burada Address property’si null olsa bile herhangi bir nullreferenceexception fırlatmıyor.

Kaynaklar:

Extended property patterns: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-10.0/extended-property-patterns

Property Pattern: https://github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/patterns.md#property-pattern

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.