Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 2933|Odgovoriti: 0

[Komunikacija] .NET/C# generični T kovariantni izhod in inverter v vmesniku

[Kopiraj povezavo]
Objavljeno na 3. 08. 2023 20:35:23 | | | |
Zahteve: Nedavno sem pregledoval izvorno kodo .NET in ugotovil, da je v generičnem vmesniku ključna beseda out, na primer:javni vmesnik IStringLocalizer<out T>, in jo nato preučil.

Generični tipni parametri v vmesniku se lahko deklarirajo kot kovarianti ali inverterji. Kovarianca omogoča, da imajo vmesne metode tip vrnitve, ki je bolj izpeljan kot tip vrnitve, definiran z generičnim parametrom tipa. Pretvornik omogoča, da ima metoda vmesnika manjšo stopnjo izpeljave iz tipa argumenta, določenega z generičnim parametrom. Generični vmesniki s kovariantnimi ali inverter generičnimi parametri se imenujejo "variante".

Kovarianco: Uporabite ključno besedo out, da generični parameter tipa označite kot kovariant.
Inverzna: Uporabite ključno besedo v za deklaracijo generičnega parametra tipa kot inverter.

Ta posnetek zaslona iz VS2022 je zelo opisen – prikazuje, kakšne omejitve to prinaša generikom, kot je prikazano spodaj:



Ob vstopu v služboFunc<in T, ven TResult>To pomeni, da je tip parametra T, povratni tip pa TResult.

Referenčni:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.






Prejšnji:Uporablja se nov časovnik v .NET 6, PeriodicTimer
Naslednji:Qv2ray povezuje storitev Trojan-Go na Windows
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com