Bruksdirektivet tillater bruk av en type definert i et navnerom uten å spesifisere et fullt kvalifisert navnerom for den typen. Å legge til den globale modifikatoren i using-direktivet betyr at using vil bli brukt på alle filer i kompileringen (vanligvis et prosjekt). Den globale bruksdirektivet ble lagt til i C# 10. Syntaksen er:
Den anbefalte praksisen er å legge den globale importen i en egen fil (én for hvert prosjekt), for eksempel kan den hete:GlobalUsings.csFil.
Microsofts offisielle dokumentasjonsintroduksjon:Innloggingen med hyperkoblingen er synlig.
Vi legger navnerommet som Startup.cs refererer til i GlobalUsings.cs-filen, og husker å legge til før vi bruker detGlobaltNøkkelord!! Koden er som følger:
På dette tidspunktet vil kompilatoren rapportere en feil som sier at "funksjonen global som bruker kommandoen ikke er tilgjengelig i C# 8.0, vennligst bruk språkversjon 10.0 eller nyere", som vist i figuren nedenfor:
I dette tilfellet, med ASP.NET Core 3.1-prosjektet som eksempel, trenger du bare å dobbeltklikke på prosjektet (.csproj-filen) og legge til LangVersion i Project-> PropertyGroup-noden, som vist i følgende figur:
Denne setningen betyr at prosjektet bruker syntaksen til C# 10 når det gjelder C#-språkversjonering:Innloggingen med hyperkoblingen er synlig.
Filen rapporteres samtidig ikke som en feilStartup.cs Navnerommet som refereres til i filen er grået ut, som vist i figuren nedenfor:
Vi fjerner referansene til Program.cs, Startup.cs, og kompilerer deretter prosjektet på nytt som vist på bildet under:
brukILSpy_binaries_7.2.0.6702-preview2Den resulterende WebApplication1.dll-filen dekompileres som vist i følgende bilde:
Oppstartsfilen har fortsatt referanser, og ingen GlobalUsings.cs filer genereres, så global bruk er bare syntakssukker, noe som forenkler noe kjedelig programmeringsarbeid og forbedrer arbeidseffektiviteten betydelig.
.NET 6Implisitte navneromReferanser oppnås også ved å bruke funksjonen global using.
For øyeblikket legges det til ulike standard navnerom for ulike SDK-typer, og de eksisterende er som følger:
For Microsoft.NET.Sdk er standard navneområdet som følger:
For Microsoft.NET.Sdk.Web:
For Microsoft.NET.Sdk.Worker:
Hvis du vil deaktivere implisitte navneromsreferanser, kan du deaktivere denne funksjonen helt via DisableImplicitNamespaceImports, som følger:
Hvis du bare vil deaktivere referanser til Microsoft.NET.Sdk.Web, kan du konfigurere DisableImplicitNamespaceImports_Web som følger:
La oss lage et nytt .NET 6.0-konsollprosjekt for testing, og hele prosjektet har bare Program.cs én fil, som vist i figuren nedenfor:
ConsoleApp1.csproj er konfigurert som følger:
Hvor er den globale bruksdirektivet? Åpne obj-mappen (som inneholder de mellomliggende midlertidige filene generert under kompileringsprosessen) og finn den i Debug\net6.0-mappenConsoleApp1.GlobalUsings.g.csFil:
ConsoleApp1.GlobalUsings.g.cs filer genereres automatisk basert på prosjektets ImplicitUsings-innstillinger.
(Slutt)
|