Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Impossibile utilizzare tipo 'Tipovalore' come parametro di tipo 'T' nel tipo o metodo generico 'TipooMetodo'< T >. Nessuna conversione boxing o conversione parametro di tipo da 'Tipovalore' a 'Tiporiferimento'.
The type 'valueType' cannot be used as type parameter 'T' in the generic type or method 'TypeorMethod<T>'. There is no boxing conversion from 'valueType' to 'referenceType'.
Questo errore si verifica quando si vincola un tipo generico a una particolare classe e si tenta di costruire un'istanza di tale classe mediante un tipo di valore che non può essere sottoposto a boxing in modo implicito.
Per correggere l'errore
- Una soluzione è ridefinire la struttura come classe.
Esempio
Nell'esempio seguente viene generato l'errore CS0315:
// cs0315.cs
public class ClassConstraint { }
public struct ViolateClassConstraint { }
public class Gen<T> where T : ClassConstraint
{
}
public class Test
{
public static int Main()
{
Gen<ViolateClassConstraint> g = new Gen<ViolateClassConstraint>(); //CS0315
return 1;
}
}