Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 50988|Svar: 8

[Källa] C# 10 Ny syntax global med global citering

[Kopiera länk]
Publicerad på 2021-11-20 10:55:01 | | | |
Direktivets användning tillåter användning av en typ definierad i ett namnrymd utan att specificera ett fullt kvalificerat namnrymd för den typen. Att lägga till den globala modifieraren i using direktivet innebär att using kommer att tillämpas på alla filer i kompileringen (vanligtvis ett projekt). Den globala användningsdirektivet lades till i C# 10. Syntaxen är:

Den rekommenderade metoden är att lägga den globala importen i en separat fil (en för varje projekt), t.ex. kan den heta:GlobalUsings.csFil.

Microsofts officiella dokumentationsintroduktion:Inloggningen med hyperlänken är synlig.

Vi lägger in namnrymden som Startup.cs refererar till i GlobalUsings.cs-filen, och kommer ihåg att lägga till innan vi använderglobaltNyckelord!! Koden är följande:


Vid denna tidpunkt rapporterar kompilatorn ett fel som säger att "funktionen global med kommandot inte är tillgänglig i C# 8.0, vänligen använd språkversion 10.0 eller senare", som visas i figuren nedan:



I detta fall, om vi tar ASP.NET Core 3.1-projektet som exempel, behöver du bara dubbelklicka på projektet (.csproj-filen) och lägga till LangVersion i Project-> PropertyGroup-noden, som visas i följande figur:





Denna mening betyder att projektet använder syntaxen från C# 10 avseende C#-språkversionering:Inloggningen med hyperlänken är synlig.

Filen rapporteras inte som ett fel samtidigtStartup.cs Namnrymden som refereras till i filen är nedtonad, som visas i figuren nedan:



Vi tar bort referenserna till Program.cs, Startup.cs och kompilerar sedan om projektet som visas på bilden nedan:



användaILSpy_binaries_7.2.0.6702-preview2Den resulterande WebApplication1.dll filen dekompileras som visas i följande bild:



Startfilen har fortfarande referenser till användning, och inga GlobalUsings.cs filer genereras, så global användning är bara syntaxsocker, vilket förenklar en del tråkigt programmeringsarbete och förbättrar arbetseffektiviteten avsevärt.

.NET 6Implicita namnrymderReferenser uppnås också genom att använda funktionen global use.

För närvarande har olika standardnamnrymder lagts till för olika SDK-typer, och de befintliga är följande:

För Microsoft.NET.Sdk är standardnamnrymden följande:


För Microsoft.NET.Sdk.Web:

För Microsoft.NET.Sdk.Worker:

Om du vill inaktivera implicita namnrymdsreferenser kan du stänga av denna funktion helt via DisableImplicitNamespaceImports, enligt följande:

Om du bara vill inaktivera referenser till Microsoft.NET.Sdk.Web kan du konfigurera DisableImplicitNamespaceImports_Web enligt följande:

Låt oss skapa ett nytt .NET 6.0-konsolprojekt för testning, och hela projektet har bara Program.cs en fil, som visas i figuren nedan:



ConsoleApp1.csproj är konfigurerad enligt följande:

Var finns direktivet om global användning? Öppna obj-katalogen (som innehåller de mellanliggande temporära filerna som genereras under kompileringsprocessen) och hitta den i Debug\net6.0-katalogenConsoleApp1.GlobalUsings.g.csFil:



ConsoleApp1.GlobalUsings.g.cs filer genereras automatiskt baserat på projektets ImplicitUsings-egenskapsinställningar.

(Slut)




Föregående:Visual Studio 2022 Enterprise Edition nedladdnings- och installationshandledning
Nästa:Praktisk användning av Nginx reverse proxy för Windows Remote Desktop
Publicerad på 2021-11-21 19:26:44 |
Nya saker, lär dig och lär dig
Publicerad på 2021-11-21 23:09:21 |
Kom och lär dig igen。。。。。。
Publicerad på 2021-12-01 10:07:39 |
Wei Wu
Publicerad på 2022-02-08 09:28:46 |

Nya saker, lär dig och lär dig
Publicerad på 2022-02-08 09:29:19 |


Nya saker, lär dig det
 Hyresvärd| Publicerad på 2022-03-12 17:52:27 |
Ta bort en av standardreferenserna och redigera projektfilen med följande kod:

 Hyresvärd| Publicerad på 2022-03-19 20:57:25 |
Filsökväg: "C:\Program Files\dotnet\sdk\6.0.200\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props"

Publicerad på 2023-02-20 16:23:50 |
666 Upptäckten av den nya världen
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com