Si consideri il seguente esempio di codice, dove Concrete
deriva da Base
:Il tipo 'T' non può essere utilizzato come parametro di tipo nel tipo generico o errore di metodo quando tipo è noto
Nella riga in cui sono avendo l'errore di compilazione, ho già controllato che l'argomento generico sia assegnabile al tipo Concrete
. Quindi, in teoria, credo che ci dovrebbe essere un modo per creare un'istanza della classe Bar.
C'è un modo per rimuovere l'errore di compilazione? Non riesco a pensare a un modo per gettare la discussione.
testo completo di errore di compilazione:
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'.
Che mi compila ... è l'esempio * effettivo *? ci sono forse dei parametri nel tuo codice reale? –
Il tuo codice non corrisponde al messaggio di errore. Sicuramente hai scritto 'Bar();' –
C'è una ragione per cui Foo non ha 'where T: Concrete'? – Servy