Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 50988|Odpowiedź: 8

[Źródło] C# 10 Nowa składnia globalna z wykorzystaniem cytowania globalnego

[Skopiuj link]
Opublikowano 20.11.2021 10:55:01 | | | |
Dyrektywa używania pozwala na użycie typu zdefiniowanego w przestrzeni nazw bez określania w pełni kwalifikowanej przestrzeni nazw dla tego typu. Dodanie globalnego modyfikatora do dyrektywy using oznacza, że using zostanie zastosowane do wszystkich plików w kompilacji (zazwyczaj w projekcie). Dyrektywa globalnego użycia została dodana do C# 10. Składnia jest następująca:

Zalecaną praktyką jest umieszczenie globalnego importu w osobnym pliku (po jednym dla każdego projektu), np. można go nazwać:GlobalUsings.csPlik.

Wprowadzenie do oficjalnej dokumentacji Microsoft:Logowanie do linku jest widoczne.

Umieściliśmy przestrzeń nazw odwoływaną przez Startup.cs do pliku GlobalUsings.cs, pamiętając o dodaniu przed użyciemGlobalnySłowa kluczowe!! Kod jest następujący:


W tym momencie kompilator zgłosi błąd, że "funkcja globalna za pomocą polecenia nie jest dostępna w C# 8.0, prosimy o użycie wersji językowej 10.0 lub nowzej", jak pokazano na poniższym rysunku:



W tym przypadku, biorąc na przykład projekt ASP.NET Core 3.1, wystarczy dwukrotnie kliknąć projekt (plik .csproj) i dodać LangVersion do węzła PropertyGroup Project->, jak pokazano na poniższym rysunku:





To zdanie oznacza, że projekt korzysta ze składni C# 10 w odniesieniu do wersji języka C#:Logowanie do linku jest widoczne.

Plik nie jest jednocześnie zgłaszany jako błądStartup.cs Przestrzeń nazw odwołana przez plik jest wyszarzona, jak pokazano na poniższym rysunku:



Usuwamy odniesienia do Program.cs, Startup.cs, a następnie ponownie kompilujemy projekt, jak pokazano na poniższym obrazku:



używaćILSpy_binaries_7.2.0.6702-preview2Powstały plik WebApplication1.dll jest dekompilowany, jak pokazano na poniższym obrazku:



Plik startowy nadal zawiera referencje do używania i nie generuje się żadnych GlobalUsings.cs plików, więc globalne użycie to po prostu słodycz składni, co upraszcza żmudną pracę programistyczną i znacznie poprawia efektywność pracy.

.NET 6Przestrzenie nazw niejawneOdniesienia są również osiągane dzięki funkcji globalnego użycia.

Obecnie dodano różne domyślne przestrzenie nazw dla różnych typów SDK, a istniejące są następujące:

Dla Microsoft.NET.Sdk domyślna przestrzeń nazw wygląda następująco:


Dla Microsoft.NET.Sdk.Web:

Dla Microsoft.NET.Sdk.Worker:

Jeśli chcesz wyłączyć niejawne odniesienia do przestrzeni nazw, możesz całkowicie wyłączyć tę funkcję za pomocą DisableImplicitNamespaceImports, w następujący sposób:

Jeśli chcesz tylko wyłączyć odwołania do Microsoft.NET.Sdk.Web, możesz skonfigurować DisableImplicitNamespaceImports_Web następująco:

Stwórzmy nowy projekt konsolowy .NET 6.0 do testowania i cały projekt ma tylko Program.cs jeden plik, jak pokazano na poniższym rysunku:



ConsoleApp1.csproj jest skonfigurowany następująco:

Gdzie jest dyrektywa globalnego użycia? Otwórz katalog obj (w którym znajdują się tymczasowe pliki pośrednie generowane podczas procesu kompilacji) i znajdź go w katalogu Debug\net6.0ConsoleApp1.GlobalUsings.g.csPlik:



ConsoleApp1.GlobalUsings.g.cs pliki są automatycznie generowane na podstawie ustawień właściwości ImplicitUsings projektu.

(Koniec)




Poprzedni:Pobierz i instalacyjny tutorial Visual Studio 2022 Enterprise Edition
Następny:Praktyczne zastosowanie reverse proxy Nginx dla Windows Remote Desktop
Opublikowano 21.11.2021 19:26:44 |
Nowe rzeczy, ucz się i ucz
Opublikowano 21.11.2021 23:09:21 |
Przyjdź i ucz się ponownie。。。。。。
Opublikowano 01.12.2021 10:07:39 |
Wei Wu
Opublikowano 08.02.2022 09:28:46 |

Nowe rzeczy, ucz się i ucz
Opublikowano 08.02.2022 09:29:19 |


Nowe rzeczy, ucz się ich
 Ziemianin| Opublikowano 12.03.2022 17:52:27 |
Usuń jedno z domyślnych odniesień i edytuj plik projektu za pomocą następującego kodu:

 Ziemianin| Opublikowano 19.03.2022 20:57:25 |
Ścieżka pliku: "C:\Program Files\dotnet\sdk\6.0.200\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props"

Opublikowano 20.02.2023 16:23:50 |
Odkrycie Nowego Świata w 666 roku
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com