using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Variance
{
class A { }
class B : A { }
class C<out T> { }
class Program
{
static void Main(string[] args)
{
var v = new C<B>();
CA(v);
}
static void CA(C<A> v) { }
}
}
5
A
Odpowiedz
9
Jest to linia wykraczająca:
class C<out T>
jako komunikat o błędzie informuje, że nie można zastosować ogólną wariancję do klas, a jedynie do interfejsów delegaci. To byłoby w porządku:
interface C<out T>
Powyższe nie jest.
Szczegółowe informacje Creating Variant Generic Interfaces
4
Próbujesz zastosować ogólną wariancję do klasy. To nie jest obsługiwane. Jest obsługiwany tylko w przypadku interfejsów i typów delegowanych.
Nielegalny:
class C<out T> { }
prawna:
interface C<out T> {}
Powiązane problemy
- 1. Dlaczego podczas kompilowania tego zestawu pojawia się następujący błąd?
- 2. Dlaczego ten protokół "może być używany tylko jako ogólne ograniczenie"?
- 3. C# - Jak mogę przekazać odwołanie do funkcji, która wymaga zmiennej out?
- 4. Dlaczego pojawia się błąd podczas instalowania PEAR?
- 5. Dlaczego otrzymuję "Typ" ciąg "nie może być używany jako typ indeksu" błąd w TypeScript
- 6. Dlaczego pojawia się błąd "nazwa_bazy_danych musi być ciągiem lub symbolem"?
- 7. Typ interopu nie może być osadzony
- 8. Dlaczego pojawia się następujący błąd podczas uruchamiania aplikacji Google od zaćmienia?
- 9. Typ paczki nie może być używany jako typ pakietu dostawcy
- 10. Haskell „błąd podpis nieprawidłowy typ”
- 11. Dlaczego preg_replace zgłasza mi błąd "Nieznany modyfikator"?
- 12. Błąd kompilacji: "Modyfikator" publiczny "jest nieprawidłowy dla tego elementu" podczas jawnego implementowania interfejsu
- 13. doker-compose.yml nieprawidłowy: app.build zawiera nieprawidłowy typ, powinna być ciągiem
- 14. Jak zdefiniować typ powrotu dla metody interfejsu jako innego interfejsu?
- 15. Dlaczego pojawia się błąd wymagający długości 411?
- 16. Dlaczego pojawia się ten błąd w Django?
- 17. Dlaczego Wariant nie może zawierać TDateTime przed 100 CE?
- 18. podczas uruchamiania testu Espresso za pomocą Android Studio. I pojawia się następujący błąd
- 19. Błąd deserializacji: wartość nie może być pusta. Nazwa parametru: typ
- 20. Czy klasa abstrakcyjna może być używana jako typ odniesienia?
- 21. Nieprawidłowy wyświetlacz (może być margines ujemny)?
- 22. Typ Anonymous pojawia się zarówno w błędzie
- 23. Jak mogę przekazać właściwość jako pełnomocnik?
- 24. W R, pojawia się następujący błąd: "próba replikacji obiektu typu" zamknięcie ""
- 25. Punkt wejścia nie może być oznaczony przez modyfikator "asynchroniczny"
- 26. typu nie może być stosowany jako indeksu
- 27. Błąd 175: Określony dostawca sklepu nie może zostać znaleziony w konfiguracji lub jest nieprawidłowy
- 28. Generic ograniczenie ignoruje CO-wariancji
- 29. Funkcja może być wywołana tylko w głównym wątku, dlaczego?
- 30. typu „T” nie może być używany jako typ parametru „t” w ogólnym typie lub metodzie
Link jest uszkodzony. – recursive
Naprawiłem link. –