Izmantojot direktīvu ļauj izmantot nosaukumtelpā definētu tipu, nenorādot šim tipam pilnībā kvalificētu nosaukumvietu. Globālā modifikatora pievienošana lietošanas direktīvai nozīmē, ka lietošana tiks lietota visiem kompilācijas failiem (parasti projektam). Globālā lietošanas direktīva tika pievienota C# 10. Sintakse ir šāda:
Ieteicamā prakse ir ievietot globālo importu atsevišķā failā (pa vienam katram projektam), piemēram, to var nosaukt:GlobalUsings.csFails.
Microsoft oficiālās dokumentācijas ievads:Hipersaites pieteikšanās ir redzama.
Mēs ievietojam Startup.cs norādīto nosaukumu vietu GlobalUsings.cs failā, atceroties pievienot pirms lietošanasglobālsAtslēgvārdi!! Kods ir šāds:
Šajā laikā kompilators ziņos par kļūdu, norādot, ka "funkcija globāli, izmantojot komandu nav pieejama C# 8.0, lūdzu, izmantojiet valodas versiju 10.0 vai jaunāku", kā parādīts zemāk redzamajā attēlā:
Šajā gadījumā, ņemot piemēru ASP.NET Core 3.1 projektu, jums tikai jāveic dubultklikšķis uz projekta (.csproj fails) un jāpievieno LangVersion Project-> PropertyGroup mezglam, kā parādīts šajā attēlā:
Šis teikums nozīmē, ka projektā tiek izmantota C# 10 sintakse attiecībā uz C# valodas versiju:Hipersaites pieteikšanās ir redzama.
Vienlaikus fails netiek ziņots kā kļūdaStartup.cs Nosaukumvieta, uz kuru atsaucas fails, ir pelēkota, kā parādīts attēlā:
Mēs noņemam atsauces uz Program.cs, Startup.cs un pēc tam pārkompilējam projektu, kā parādīts zemāk redzamajā attēlā:
lietotILSpy_binaries_7.2.0.6702-preview2Iegūtais WebApplication1.dll fails tiek dekompilēts, kā parādīts šajā attēlā:
Startēšanas failam joprojām ir atsauces, un netiek ģenerēti GlobalUsings.cs faili, tāpēc globālā izmantošana ir tikai sintakses cukurs, kas vienkāršo dažus garlaicīgus programmēšanas darbus un ievērojami uzlabo darba efektivitāti.
.NET 6Netiešās nosaukumvietasAtsauces tiek panāktas arī, izmantojot globālās izmantošanas funkciju.
Pašlaik dažādiem SDK tipiem tiek pievienotas dažādas noklusējuma nosaukumvietas, un esošās ir šādas:
Microsoft.NET.Sdk noklusējuma nosaukumvieta ir šāda:
For Microsoft.NET.Sdk.Web:
For Microsoft.NET.Sdk.Worker:
Ja vēlaties atspējot netiešās nosaukumvietas atsauces, varat pilnībā atspējot šo līdzekli, izmantojot DisableImplicitNamespaceImports, kā norādīts tālāk.
Ja vēlaties vienkārši atspējot atsauces uz Microsoft.NET.Sdk.Web, varat konfigurēt DisableImplicitNamespaceImports_Web šādi:
Izveidosim jaunu .NET 6.0 konsoles projektu testēšanai, un visam projektam ir tikai Program.cs viens fails, kā parādīts zemāk redzamajā attēlā:
ConsoleApp1.csproj ir konfigurēts šādi:
Kur ir direktīva par globālo lietošanu? Atveriet obj direktoriju (kurā atrodas kompilācijas procesā ģenerētie starpposma pagaidu faili) un atrodiet to direktorijā Debug\net6.0ConsoleApp1.GlobalUsings.g.csFails:
ConsoleApp1.GlobalUsings.g.cs faili tiek automātiski ģenerēti, pamatojoties uz projekta rekvizītu ImplicitUsings iestatījumiem.
(Beigas)
|