Errore del compilatore CS0456
Il parametro di tipo 'Type Parameter Name 1' ha il vincolo 'struct'. Non è quindi possibile usare 'Type Parameter Name 1' come vincolo per ''Type Parameter Name2'
I vincoli di tipo valore sono implicitamente sealed e non è quindi possibile usarli su un secondo parametro di tipo. I tipi valore, infatti, non possono essere sottoposti a override. Per risolvere questo errore, applicare un vincolo di tipo valore direttamente al secondo parametro di tipo, anziché eseguire l'operazione in modo indiretto tramite il primo parametro di tipo.
L'esempio seguente genera l'errore CS0456.
// CS0456.cs
// compile with: /target:library
public class GenericsErrors
{
public class G5<T> where T : struct
{
public class N<U> where U : T {} // CS0456
public class N2<U> where U : struct {} // OK
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: