Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 2933|Svar: 0

[Kommunikation] .NET/C# generisk T kovariant udgang og inverter i grænsefladen

[Kopier link]
Opslået på 03/08/2023 20.35.23 | | | |
Krav: For nylig kiggede jeg på .NET-kildekoden og fandt ud af, at der er et out-nøgleord i interface-generikken, såsom:offentlig grænseflade IStringLocalizer<out T>, og så studerede han det.

Generiske typeparametre i et interface kan erklæres som kovarianter eller invertere. Kovarians gør det muligt for interface-metoder at have en returtype, der er mere afledt end den returntype, der er defineret af den generiske typeparameter. Inverteren gør det muligt for interface-metoden at have en mindre grad af afledning fra argumenttypen, der er angivet af den generiske parameter. Generiske grænseflader med kovariante eller inverter generiske typer kaldes "varianter".

Kovarians: Brug out-nøgleordet til at erklære den generiske typeparameter som kovariant.
Invers: Brug in-nøgleordet til at erklære den generiske typeparameter som en inverter.

Dette screenshot fra VS2022 er meget beskrivende – det illustrerer, hvilke begrænsninger dette medfører for generiske produkter, som vist nedenfor:



På kommissionFunc<in T, ud TResult>Det betyder, at parametertypen er T, og returtypen er TResult.

Henvisning:
Hyperlink-login er synlig.
Hyperlink-login er synlig.






Tidligere:En ny timer i .NET 6, PeriodicTimer, bruges
Næste:Qv2ray forbinder Trojan-Go-tjenesten på Windows
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com