Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 2933|Odpowiedź: 0

[Komunikacja] .NET/C# generyczne wyjście kowariantne T i inwerter w interfejsie

[Skopiuj link]
Opublikowano 03.08.2023 20:35:23 | | | |
Wymagania: Ostatnio przeglądałem kod źródłowy .NET i zauważyłem, że w interfejsie generycznym jest słowo kluczowe out, takie jak:interfejs publiczny IStringLocalizer<out T>, a potem ją studiował.

Ogólne parametry typu w interfejsie można zadeklarować jako kowarianty lub inwertery. Kowariancja pozwala metodom interfejsu mieć typ zwrotu bardziej wyprowadzony niż typ zwrotu zdefiniowany przez parametr typu ogólnego. Falownik pozwala metodzie interfejsu na mniejsze wyprowadzenie z typu argumentu określonego przez parametr ogólny. Interfejsy generyczne z parametrami typów kowariantnych lub inwerterowych nazywane są "wariantami".

Kowariancja: Użyj słowa klucza out, aby zadeklarować parametr typu generycznego jako kowariant.
Odwrotność: Użyj słowa klucza in, aby zadeklarować ogólny parametr typu jako inwerter.

Ten zrzut ekranu z VS2022 jest bardzo opisowy – pokazuje, jakie ograniczenia niesie to dla generyków, jak pokazano poniżej:



Wejście do służbyFunk<in T, out TResult>Oznacza to, że typ parametru to T, a typ zwrotu to TResult.

Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.






Poprzedni:Nowy timer w .NET 6, PeriodicTimer, jest używany
Następny:Qv2ray łączy usługę Trojan-Go na Windows
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com