Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 2933|Antwoord: 0

[Communicatie] .NET/C# generieke T covariante uitgang en inverter in interface

[Link kopiëren]
Geplaatst op 03-08-2023 20:35:23 | | | |
Vereisten: Onlangs keek ik naar de .NET-broncode en ontdekte dat er een out-sleutelwoord in de interface-generiek zit, zoals:publieke interface IStringLocalizer<out T>, en bestudeerde het toen.

Generieke typeparameters in een interface kunnen worden declareerd als covarianten of inverters. Covariantie maakt het mogelijk dat interface-methoden een retourtype hebben dat meer afgeleid is dan het retourtype dat door de generieke typeparameter is gedefinieerd. De inverter maakt het mogelijk dat de interfacemethode een kleinere mate van afleiding heeft van het argumenttype dat door de generieke parameter is gespecificeerd. Generieke interfaces met covariante of inverter generieke type parameters worden "varianten" genoemd.

Covariantie: Gebruik het out-keyword om de generieke typeparameter als covariant te declareren.
Omgekeerd: Gebruik het in-keyword om de generieke typeparameter als inverter te declareren.

Deze screenshot uit VS2022 is erg beschrijvend - het illustreert welke beperkingen dit met zich meebrengt voor generieke producten, zoals hieronder getoond:



In dienstFunc<in T, uit T>Dit betekent dat het parametertype T is en het retourtype TResult.

Referentie:
De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.






Vorig:Er wordt een nieuwe timer in .NET 6 gebruikt, PeriodicTimer,
Volgend:Qv2ray verbindt de Trojan-Go-dienst op Windows
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com