Impossibile utilizzare come vincolo il parametro di tipo con un vincolo 'Structure'

Aggiornamento: novembre 2007

Type parameter with a 'Structure' constraint cannot be used as a constraint

Un parametro di tipo con un vincolo Structure viene utilizzato come vincolo per un altro parametro di tipo.

Il vincolo Structure richiede che l'argomento di tipo passato al relativo parametro di tipo sia un tipo valore. Un tipo valore, tuttavia, non può essere implementato o ereditato, dunque non è significativo utilizzarlo come un vincolo, che richiederebbe l'altro parametro di tipo per implementarlo o ereditare da esso.

L'unica interpretazione significativa di questa situazione è che entrambi gli argomenti di tipo devono essere esattamente dello stesso tipo. In tal caso, per il tipo generico è necessario un solo parametro di tipo.

La seguente istruzione può generare questo errore.

Class c1(Of t1 As Structure, t2 As t1)

Il tipo passato a t2 non può implementare o ereditare il tipo passato a t1 perché il tipo passato a t1 deve essere un tipo valore.

ID errore: BC32114

Per correggere l'errore

  • Rimuovere il parametro di tipo vincolato a Structure dall'elenco di vincoli sull'altro parametro di tipo.

  • Se entrambi i parametri di tipo richiedono lo stesso tipo valore, definire il tipo generico con un solo parametro di tipo.

Vedere anche

Concetti

Tipi generici in Visual Basic

Tipi valore e tipi riferimento

Riferimenti

Elenco dei tipi

Structure (Visual Basic)