Najważniejszy obiektowy język programowania .NET firmy Microsoft, C# 12, robi krok naprzód wraz z zaprezentowaniem jego najnowszej wersji zapoznawczej. Wersja zapoznawcza nosi znamiona celowej aktualizacji, która znacznie przyspiesza kompilację z wyprzedzeniem (AOT) i ułatwia dostęp do wbudowanych tablic. Nowe funkcje włączone do wersji zapoznawczej C# 12, wydanej jako część Visual Studio 17.7 Preview 3 i .NET 8 Preview 6, mają na celu wzmocnienie przyszłych ulepszeń wydajności.
Co ciekawe, aktualizacja prezentuje innowacyjną, eksperymentalną funkcję o nazwie Interceptors. Funkcja ta umożliwia generatorom usprawnienie przekierowywania kodu i dostarczanie optymalizacji kontekstowych. Celem projektu Interceptors jest zaspokojenie zaawansowanych scenariuszy, zwłaszcza tych, które wymagają ulepszonej kompilacji AOT. Ten eksperymentalny aspekt języka, wprowadzony wraz z .NET 8, może ulec zmianom lub zostać całkowicie usunięty w przyszłości, ostrzegając tym samym użytkowników przed wdrażaniem go w środowisku produkcyjnym.
Atrybuty w przechwytywaczach określają dokładną lokalizację kodu źródłowego. W związku z tym są one lepiej dostosowane do generatorów źródeł. Pomimo swojej dynamicznej natury, przechwytywacze mają ewoluować, wraz z .NET 8, w pełnoprawną, produkcyjną wersję C# 12 do listopada tego roku.
Uzupełniając Interceptory, najnowsza wersja zapoznawcza zapewnia również lifting nazwy wyrażenia. To zaktualizowane wyrażenie może zwracać nazwę typu zmiennej lub elementu członkowskiego jako stałą łańcuchową, zwiększając jego funkcjonalność w szerszym zakresie zastosowań. Po aktualizacji to słowo kluczowe może teraz doskonale współpracować z inicjalizatorami, członami statycznymi i nazwami członów, a także z atrybutami.
Język czyni dalsze postępy dzięki wprowadzeniu InlineArrayAttribute, solidnej funkcji wprowadzonej po raz pierwszy w poprzedniej wersji zapoznawczej .NET 8. Reklamowana jako jedna z zaawansowanych funkcji, służy przede wszystkim kompilatorowi, bibliotekom .NET i innym bibliotekom. Atrybut InlineArrayAttribute pomaga zidentyfikować typ, który może działać jako ciągła sekwencja prymitywów, umożliwiając wydajne, bezpieczne dla typu, bezpieczne dla przekroczenia, indeksowalne i wycinane dane wbudowane.
Ta funkcja jest wykorzystywana przez biblioteki .NET w celu zwiększenia wydajności aplikacji poprzez oznaczanie typu, który może być traktowany jako ciągła sekwencja prymitywów. Ta akcja ułatwia wydajne, bezpieczne dla typu, bezpieczne dla przekroczenia, indeksowalne i wycinane dane wbudowane.
Tworzenie aplikacji internetowych lub mobilnych może być szybkie i łatwe dzięki platformom no-code, takim jak AppMaster. Podobnie jak .NET, umożliwia ona również generowanie aplikacji i zapewnia opcje skalowalności, dzięki czemu rozwój jest 10x szybszy i 3x bardziej opłacalny. Aby uzyskać szczegółowe informacje, możesz zapoznać się z naszym przewodnikiem na temat tworzenia aplikacji bez kodu i z niskim kodem.