See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 2933|Vastuse: 0

[Kommunikatsioon] .NET/C# üldine T kovariant väljund ja inverter liideses

[Kopeeri link]
Postitatud 03.08.2023 20:35:23 | | | |
Nõuded: Hiljuti vaatasin .NET lähtekoodi ja leidsin, et liidese üldises osas on väljundmärksõna, näiteks:avalik liides IStringLocalizer<out T>, ja siis uuris seda.

Liidese üldisi tüüpi parameetreid saab deklareerida kovariantidena või inverteritena. Kovariatsioon võimaldab liidese meetoditel olla tagastustüüp, mis on tuletatud rohkem kui generilise tüübi parameetri määratletud tagastustüüp. Inverter võimaldab liidese meetodil olla väiksem tuletus argumenditüübist, mida määrab üldine parameeter. Üldisi liideseid, millel on kovariantsed või inverteri tüüpi parameetrid, nimetatakse "variantideks".

Kovariantsus: Kasuta väljundmärksõna, et kuulutada üldine tüübiparameeter kovariantina.
Inverse: Kasuta in märksõna, et deklareerida generilise tüübi parameeter inverterina.

See VS2022 ekraanipilt on väga kirjeldav – see illustreerib, milliseid piiranguid see üldistele ravimitele toob, nagu allpool näidatud:



TeenistusesFunc<in T, välja TResult>See tähendab, et parameetri tüüp on T ja tagastustüüp on TResult.

Viide:
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.






Eelmine:.NET 6-s kasutatakse uut taimerit, PeriodicTimer,
Järgmine:Qv2ray ühendab Trojan-Go teenuse Windowsis
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com