Követelmények: Nemrég a .NET forráskódot néztem, és azt találtam, hogy az interfész generikában van egy out kulcsszó, például:public interface IStringLocalizer<out T>, és tanulmányozta.
Az interfészben található általános típusú paraméterek kovariánsként vagy inverterként is kijelenthetők. A kovariancia lehetővé teszi, hogy az interfész módszereinek olyan visszatérési típusa legyen, amely inkább származtatott, mint a generikus típusparaméter által meghatározott visszaküldési típus. Az inverter lehetővé teszi, hogy az interfész módszer kisebb mértékben származhasson a generikus paraméter által meghatározott argumentumtípustól. Az általános interfészeket, amelyek kovariáns vagy inverter általános típusú paraméterekkel rendelkeznek, "variánsnak" nevezik.
Kovariancia: Használjuk az out kulcsszót, hogy a generikus típusparamétert kovariánsként deklaráljuk.
Inverz: Az in kulcsszót használjuk az általános típusparaméter bejelentéséhez inverterként.
Ez a VS2022-es képernyőkép nagyon leíró – jól mutatja, milyen korlátokat hoz ez az általános típusokra, ahogy az alábbiakban látható:
SzolgálatbanFunc<in T, ki TResult>Ez azt jelenti, hogy a paramétertípus T, a visszatérő típus pedig TResult.
Utalás:
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
|