Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 2933|Atbildi: 0

[Paziņojums] .NET/C# vispārējā T kovarianta izeja un invertors saskarnē

[Kopēt saiti]
Publicēts 03.08.2023 20:35:23 | | | |
Prasības: Nesen es apskatīju .NET avota kodu un atklāju, ka interfeisa vispārējā sadaļā ir atslēgvārds, piemēram:publiskais interfeiss IStringLocalizer<out T>, un pēc tam to izpētīja.

Vispārēja tipa parametrus saskarnē var deklarēt kā kovariantus vai invertorus. Kovariācija ļauj interfeisa metodēm iegūt atgriešanās tipu, kas ir vairāk atvasināts nekā atgriešanās tips, ko definē vispārējā tipa parametrs. Invertors ļauj saskarnes metodei iegūt mazāku atvasinājuma pakāpi no argumenta tipa, ko norāda vispārējais parametrs. Vispārējās saskarnes ar kovarianta vai invertora vispārējā tipa parametriem sauc par "variantiem".

Kovariācijas: izmantojiet atslēgvārdu out, lai deklarētu vispārīgā tipa parametru kā kovariantu.
Apgriezti: Izmantojiet atslēgvārdu in, lai deklarētu vispārējā tipa parametru kā invertoru.

Šis ekrānuzņēmums no VS2022 ir ļoti aprakstošs - tas parāda, kādus ierobežojumus tas rada ģenēriskajām zālēm, kā parādīts zemāk:



Par komisijas maksuFunc<in T, out TResult>Tas nozīmē, ka parametra tips ir T un atgriešanās tips ir TResult.

Atsauce:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.






Iepriekšējo:Tiek izmantots jauns taimeris .NET 6 PeriodicTimer
Nākamo:Qv2ray savieno Trojan-Go pakalpojumu operētājsistēmā Windows
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com