Naudojimo direktyva leidžia naudoti vardų srityje apibrėžtą tipą, nenurodant to tipo vardų srities. Visuotinio modifikatoriaus pridėjimas prie naudojimo direktyvos reiškia, kad naudojimas bus taikomas visiems kompiliacijos failams (paprastai projektui). Visuotinio naudojimo direktyva buvo pridėta prie C# 10. Sintaksė yra tokia:
Rekomenduojama visuotinį importą sudėti į atskirą failą (po vieną kiekvienam projektui), pvz., jis gali būti pavadintas:GlobalUsings.csFailas.
"Microsoft" oficialios dokumentacijos įvadas:Hipersaito prisijungimas matomas.
Į GlobalUsings.cs failą įdėjome Startup.cs nurodytą vardų sritį, nepamiršdami pridėti prieš naudodamipasaulinisRaktiniai žodžiai!! Kodas yra toks:
Šiuo metu kompiliatorius praneš apie klaidą, nurodydamas, kad "funkcija visuotinė naudojant komandą nėra C# 8.0, naudokite 10.0 ar naujesnę kalbos versiją", kaip parodyta paveikslėlyje žemiau:
Tokiu atveju, atsižvelgiant į ASP.NET Core 3.1 projektą kaip pavyzdį, jums tereikia dukart spustelėti projektą (.csproj failą) ir pridėti LangVersion prie Project-> PropertyGroup mazgo, kaip parodyta šiame paveikslėlyje:
Šis sakinys reiškia, kad projekte naudojama C# 10 sintaksė, susijusi su C# kalbos versijomis:Hipersaito prisijungimas matomas.
Tuo pačiu metu failas nepranešamas kaip klaidaStartup.cs Failo nurodyta vardų sritis yra pilka, kaip parodyta toliau pateiktame paveikslėlyje:
Pašaliname Program.cs, Startup.cs nuorodas ir iš naujo kompiliuojame projektą, kaip parodyta paveikslėlyje žemiau:
naudotiILSpy_binaries_7.2.0.6702-preview2Gautas WebApplication1.dll failas dekompiliuojamas, kaip parodyta šiame paveikslėlyje:
Paleisties failas vis dar turi naudojimo nuorodas, o GlobalUsings.cs failai nėra generuojami, todėl visuotinis naudojimas yra tik sintaksės cukrus, kuris supaprastina kai kuriuos varginančius programavimo darbus ir labai pagerina darbo efektyvumą.
.NET 6Numanomos vardų sritysNuorodos taip pat pasiekiamos naudojant visuotinio naudojimo funkciją.
Šiuo metu skirtingiems SDK tipams pridedamos skirtingos numatytosios vardų sritys, o esamos yra šios:
Microsoft.NET.Sdk numatytoji vardų sritis yra tokia:
For Microsoft.NET.Sdk.Web:
For Microsoft.NET.Sdk.Worker:
Jei norite išjungti numanomas vardų srities nuorodas, galite visiškai išjungti šią funkciją naudodami DisableImplicitNamespaceImports, kaip nurodyta toliau:
Jei norite tiesiog išjungti nuorodas į Microsoft.NET.Sdk.Web, galite sukonfigūruoti DisableImplicitNamespaceImports_Web taip:
Sukurkime naują .NET 6.0 konsolės projektą testavimui, o visame projekte yra tik Program.cs vienas failas, kaip parodyta paveikslėlyje žemiau:
ConsoleApp1.csproj sukonfigūruotas taip:
Kur yra visuotinio naudojimo direktyva? Atidarykite obj katalogą (kuriame yra tarpiniai laikinieji failai, sugeneruoti kompiliavimo proceso metu) ir raskite jį Debug\net6.0 katalogeConsoleApp1.GlobalUsings.g.csFailas:
ConsoleApp1.GlobalUsings.g.cs failai automatiškai generuojami pagal projekto ypatybės ImplicitUsings parametrus.
(Pabaiga)
|