Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 2933|Odpoveď: 0

[Komunikácia] .NET/C# generický T kovariantný výstup a invertor v rozhraní

[Kopírovať odkaz]
Zverejnené 3. 8. 2023 20:35:23 | | | |
Požiadavky: Nedávno som sa pozeral na zdrojový kód .NET a zistil som, že v generike rozhrania je kľúčové slovo out, napríklad:verejné rozhranie IStringLocalizer<out T>, a potom ju študoval.

Generické typové parametre v rozhraní môžu byť deklarované ako kovarianty alebo invertory. Kovariancia umožňuje rozhraniovým metódam mať typ návratu, ktorý je viac odvodený než typ návratu definovaný parametrom generického typu. Invertor umožňuje, aby rozhraniová metóda mala menší stupeň odvodenia z typu argumentu špecifikovaného generickým parametrom. Generické rozhrania s kovariantnými alebo invertorovými generickými typovými parametrami sa nazývajú "varianty".

Kovariancia: Použite kľúčové slovo out na deklarovanie generického typového parametra ako kovariantného.
Inverzný: Použite kľúčové slovo in na deklaráciu generického typového parametra ako invertora.

Táto snímka obrazovky z VS2022 je veľmi výstižná – ilustruje, aké obmedzenia to prináša generikám, ako je vidieť nižšie:



V službeFunc<in T, von TResult>To znamená, že typ parametra je T a typ návratu je TResult.

Referencia:
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.






Predchádzajúci:Používa sa nový časovač v .NET 6, PeriodicTimer,
Budúci:Qv2ray pripája službu Trojan-Go na Windows
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com