Partilhar via


Parâmetro de tipo com uma restrição "Estrutura" não pode ser usada como uma restrição.

Um parâmetro do tipo com uma restrição Structure é usada como a restrição para outro parâmetro do tipo.

A restrição Structure requer que o argumento tipo passado para o seu parâmetro do tipo seja um tipo de valor.No entanto, um tipo de valor não pode ser implementado ou herdado, portanto não faz sentido usá-lo como uma restrição, que exigiria o outro parâmetro do tipo para implementá-lo ou herdar a partir dele.

A interpretação somente significativa nesta situação é que ambos os argumentos Tipo devem ser exatamente do mesmo tipo.Se esse for o caso, o tipo genérico precisa apenas de um parâmetro do tipo.

As declarações a seguir são capazes de gerar este tipo de erro.

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

O tipo passado para t2 não pode implementar ou herdar o tipo transmitido para t1, porque o tipo passado para t1 deve ser um tipo de valor.

ID de erro: BC32114

Para corrigir este erro

  • Remova o parâmetro do tipo restrito para Structure da lista de restrição no outro parâmetro do tipo.

  • Se ambos os parâmetros de tipo exigirem o mesmo tipo de valor, defina o tipo genérico com apenas um parâmetro do tipo.

Consulte também

Conceitos

Tipos genéricos no Visual Basic

Tipos de valores e tipos de referências

Referência

Lista de tipos

Estrutura (Visual Basic)