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?

È stato utile?

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
scroll top