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

Utsikt: 2933|Svar: 0

[Kommunikation] .NET/C# generisk T kovariant ut och inverter i gränssnittet

[Kopiera länk]
Publicerad på 2023-08-03 20:35:23 | | | |
Krav: Nyligen tittade jag på .NET-källkoden och upptäckte att det finns ett out-nyckelord i gränssnittets generiska, till exempel:publikt gränssnitt IStringLocalizer<out T>, och studerade den sedan.

Generiska typparametrar i ett gränssnitt kan deklareras som kovarianta eller inverterare. Kovarians tillåter gränssnittsmetoder att ha en returtyp som är mer härledd än returtypen definierad av den generiska typparametern. Invertern tillåter att gränssnittsmetoden har en mindre grad av härledning från argumenttypen som specificeras av den generiska parametern. Generiska gränssnitt med kovarianta eller invertergeneriska typparametrar kallas "varianter".

Kovarians: Använd out-nyckelordet för att deklarera den generiska typparametern som en kovariant.
Omvänd: Använd in-nyckelordet för att deklarera den generiska typparametern som en inverter.

Denna skärmdump från VS2022 är mycket beskrivande – den illustrerar vilka begränsningar detta medför generiska produkter, som visas nedan:



På tjänstFunc<in T, ut TResult>Detta innebär att parametertypen är T och returtypen är TResult.

Hänvisning:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.






Föregående:En ny timer i .NET 6, PeriodicTimer, används
Nästa:Qv2ray kopplar Trojan-Go-tjänsten på Windows
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