Rozważmy następujący kod przykładowy, gdzie Concrete
pochodzi z Base
:typu „T” nie może być stosowany jako parametr typu w ogólnym typie lub błędu metody, gdy typ jest znany
na linii, gdzie jestem mając błąd kompilacji, już sprawdziłem, czy ogólny argument można przypisać do typu Concrete
. Tak więc teoretycznie uważam, że powinien istnieć sposób tworzenia instancji klasy Bar.
Czy istnieje sposób usunięcia błędu kompilacji? Nie mogę wymyślić sposobu, by rzucić kłótnię.
Pełny tekst kompilacji błędu:
Error 14 The type 'T' cannot be used as type parameter 'T' in the generic type or method 'Bar'. There is no implicit reference conversion from 'T' to 'Concrete'.
To dla mnie kompilacja ... czy to jest * rzeczywisty * przykład? czy są jakieś parametry w twoim prawdziwym kodzie? –
Twój kod nie pasuje do komunikatu o błędzie. Na pewno napisałeś 'Bar();' –
Czy istnieje powód, dla którego Foo nie ma 'where T: Concrete'? – Servy