Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 50988|Odgovoriti: 8

[Vir] C# 10 Nova globalna sintaksa z uporabo globalnega citiranja

[Kopiraj povezavo]
Objavljeno na 20. 11. 2021 10:55:01 | | | |
Direktiva o uporabi dovoljuje uporabo tipa, definiranega v imenskem prostoru, brez določanja popolnoma kvalificiranega imenskega prostora za ta tip. Dodajanje globalnega modifikatorja v direktivo using pomeni, da bo using uporabljen uporabljen za vse datoteke v prevajanju (običajno projekt). Globalna direktiva uporabe je bila dodana v C# 10. Sintaksa je:

Priporočena praksa je, da se globalni uvoz shrani v ločeno datoteko (po eno za vsak projekt), npr. lahko se poimenuje:GlobalUsings.csDatoteka.

Uvod v uradno dokumentacijo Microsofta:Prijava do hiperpovezave je vidna.

Imenski prostor, na katerega se sklicuje Startup.cs, vnesemo v GlobalUsings.cs datoteko, pri čemer se spomnimo dodati pred uporaboglobalnoKljučne besede!! Koda je naslednja:


Takrat bo prevajalnik poročal o napaki, da "funkcija globalna uporaba ukaza ni na voljo v C# 8.0, prosimo, uporabite jezikovno različico 10.0 ali novejšo", kot je prikazano na spodnji sliki:



V tem primeru, če vzamemo kot primer projekt ASP.NET Core 3.1, je dovolj, da dvakrat kliknete na projekt (.csproj datoteko) in dodate LangVersion v vozlišče PropertyGroup Project->, kot je prikazano na naslednji sliki:





Ta stavek pomeni, da projekt uporablja sintakso C# 10 glede verzioniranja jezika C#:Prijava do hiperpovezave je vidna.

Datoteka hkrati ni prijavljena kot napakaStartup.cs Imenski prostor, na katerega se sklicuje datoteka, je siv, kot je prikazano na spodnji sliki:



Odstranimo reference Program.cs, Startup.cs in nato projekt ponovno prevedemo, kot je prikazano na spodnji sliki:



uporabitiILSpy_binaries_7.2.0.6702-preview2Nastala WebApplication1.dll datoteka je dekompilirana, kot je prikazano na naslednji sliki:



Zagonska datoteka še vedno vsebuje reference, GlobalUsings.cs datotek pa se ne generirajo, zato je globalna uporaba le sladica sintakse, kar poenostavi nekaj dolgočasnega programiranja in močno izboljša učinkovitost dela.

.NET 6Implicitni imenski prostoriReference se prav tako dosežejo z uporabo funkcije global using (globalna uporabnost).

Trenutno so dodani različni privzeti imenski prostori za različne vrste SDK, obstoječi pa so naslednji:

Za Microsoft.NET.Sdk je privzeti imenski prostor naslednji:


Za Microsoft.NET.Sdk.Web:

Za Microsoft.NET.Sdk.Worker:

Če želite onemogočiti implicitne reference imenskega prostora, lahko to funkcijo popolnoma onemogočite preko DisableImplicitNamespaceImports, kot sledi:

Če želite le onemogočiti reference na Microsoft.NET.Sdk.Web, lahko DisableImplicitNamespaceImports_Web nastavite takole:

Ustvarimo nov .NET 6.0 konzolni projekt za testiranje, pri čemer ima celoten projekt le Program.cs eno datoteko, kot je prikazano na spodnji sliki:



ConsoleApp1.csproj je konfiguriran takole:

Kje je direktiva za globalno uporabo? Odprite mapo obj (ki vsebuje vmesne začasne datoteke, ustvarjene med postopkom prevajanja) in jo poiščite v mapi Debug\net6.0ConsoleApp1.GlobalUsings.g.csDatoteka:



ConsoleApp1.GlobalUsings.g.cs datoteke se samodejno generirajo glede na nastavitve lastnosti ImplicitUsings v projektu.

(Konec)




Prejšnji:Vodič za prenos in namestitev Visual Studio 2022 Enterprise Edition
Naslednji:Praktična uporaba Nginx reverse proxy za Windows Remote Desktop
Objavljeno na 21. 11. 2021 19:26:44 |
Nove stvari, učite se in se učite
Objavljeno na 21. 11. 2021 23:09:21 |
Pridi in se spet uči。。。。。。
Objavljeno na 1. 12. 2021 10:07:39 |
Wei Wu
Objavljeno na 8. 02. 2022 09:28:46 |

Nove stvari, učite se in se učite
Objavljeno na 8. 02. 2022 09:29:19 |


Nove stvari, nauči se jih
 Najemodajalec| Objavljeno na 12. 03. 2022 17:52:27 |
Odstranite eno od privzetih referenc in uredite projektno datoteko z naslednjo kodo:

 Najemodajalec| Objavljeno na 19. 03. 2022 20:57:25 |
Pot do datoteke: "C:\Program Files\dotnet\sdk\6.0.200\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props"

Objavljeno na 20. 02. 2023 16:23:50 |
Odkritje Novega sveta leta 666
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com