Come specificare un tipo generico dovrebbe implementare un altro tipo generico?
-
18-09-2019 - |
Domanda
Immaginate il seguente metodo
public void SomeMethod<T>(T param)
where T: List<T2>
{
}
Non funziona:
Errore 16 Il tipo o il nome del namespace 'T2' non è stato trovato (le manca un un riferimento all'assembly direttiva using o?)
Come faccio a raggiungere gli quello che chiaramente intenzione di fare?
Soluzione
Per fare questo, è necessario specificare un parametro generico ulteriore
public void SomeMethod<T1,T2>(T1 param)
where T1 : List<T2>
{
}
Altri suggerimenti
Come risposta lato alla soluzione accettata, dal momento che T è esplicitamente legato al T2, perché hanno T a tutti?
public void SomeMethod<T2>(List<T2> listParam)
{
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow