Firma Microsoft zdecydowanie rozpieszczała nas w ostatnim czasie. Nie tak dawno premierę miał .NET 6, teraz z niecierpliwością czekamy na C# 11.
Czego możemy się spodziewać po najnowszej wersji języka C#? Postaramy się przyjrzeć zmianom i przedstawić Wam, naszym zdaniem, te najbardziej istotne. Nie znamy jeszcze co prawda dokładnej daty premiery, ale spodziewamy się, że w najbliższym czasie Microsoft odsłoni wszystkie karty.

Co nowego?

Wcale nie musimy bawić się w detektywów i niczym Sherlock Holmes drogą dedukcji zgadywać czym najnowsza wersja może nas zaskoczyć. Z pomocą przychodzi nam oficjalna dokumentacja zamieszczona na GitHubie. Oczywiście, musimy być świadomi, że do premiery niektóre elementy mogą ulec zmianie. Jest jednak mało prawdopodobne, by na ostatniej prostej twórcy zaskoczyli nas rewolucją lub by obecnie opisane elementy miały się znacząco zmienić. Z całą pewnością jednak, najnowsza wersja naprawi problemy swojego poprzednika i udoskonali wiele rzeczy, na które przyszło nam narzekać w wersji dziesiątej.

szukasz pracy w IT

Atrybuty generyczne

Jedną z bardziej istotnych nowości wprowadzonych w najnowszej wersji mają być atrybuty generyczne (eng. generic attributes). Język C# miał być z założenia językiem przystępnym i dość prostym do opanowania. Obecnie, typy referencyjne przyjmują postać [TypeConverter(typeof(X))]. Ten zapis jak na dość prostą funkcję jest jednak dość rozbudowany. Dodatkowo, wcale nie mamy pewności, że podany typ odpowiada wymaganiom atrybutu.

Nowa funkcja ma to zdecydowanie uprościć, a typy referencyjne mają przyjmować po prostu postać [TypeConverter<X>]. Łatwiejsze, bardziej intuicyjne, zmiana zdecydowanie na duży plus. Jesteśmy jednak bardzo ciekawi jak się sprawdzi w boju. Microsoft bowiem chciał wprowadzić tę zmianę już w wersji 10, jednak z powodu licznych problemów z jej zaimplementowaniem i zmuszeniem do poprawnego działania z niektórymi narzędziami postanowił tę zmianę odłożyć w czasie.

Field Keyword

Jest to chyba jedna z bardziej istotnych i wyczekiwanych zmian. Zdecydowanie ucieszy niejednego programistę. Słowo kluczowe field, podobnie jak atrybuty generyczne miał zostać wprowadzony już w wersji 10 jednak twórcy C# postanowili z tym zwlekać i wprowadzić ją razem z premierą wersji 11.

Dlaczego ta zmiana jest tak ważna? Cóż, dzięki słowu kluczowemu field będziemy mogli stworzyć właściwości razem z instrukcjami get lub set. Dzięki 'field’ będą mogły automatycznie tworzyć pole typu backing, które w stosunku do zmiennych będzie miał takie same możliwości, jak value dla właściwości.


Zmiany we wzorcach

Lista wprowadzonych nowości jest nieco dłuższa. Jeśli jesteście ciekawi wszystkich szczegółów zajrzyjcie na GitHub’a twórców. Zmiany dotknęły również obsługę wzorców projektowych w C#. W najnowszej wersji jeżyk ma zarówno obsługiwać wzorca semantyczne jak i syntaktycze. Dotyczyć to będzie zarówno tablic, ale też typów indeksowanych. Efektem ma być możliwość dopasowania tablicy lub listy pod względem ustalonego wzorca. 

Wiemy też, że wciąż trwają prace nad dostosowaniem interfejsu IEnumerable. Bardzo prawdopodobne jednak, że twórcy nie zdążą na czas, a zmiana ta pojawi się dopiero w kolejnej odsłonie C#. Dotyczyć to może również licznych pomniejszych nowości, które zapowiedziano. W każdym razie, My już nie możemy się doczekać, a Wy?

Jeśli interesuje Cię ten temat, sprawdź inne artykuły:

logo IT-Leaders

IT-Leaders.pl to pierwsza w Polsce platforma łącząca Specjalistów IT bezpośrednio z pracodawcami. Anonimowy, techniczny profil i konkretnie określone oczekiwania finansowe to tylko niektóre z cech wyróżniających platformę. Zarejestruj się i zobacz jak Cię widzi pracodawca.