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

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

Il vincolo Structure richiede che l'argomento di tipo passato al parametro di tipo sia un tipo valore. Tuttavia, un tipo valore non può essere implementato o ereditato, quindi non è significativo usarlo come vincolo, che richiederebbe all'altro parametro di tipo di implementarlo o ereditarlo da esso.

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

L'istruzione seguente 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.

Vedi anche