O argumento de tipo '<typeparametername>' é declarado como 'MustInherit' e não satisfaz a restrição 'New' para o parâmetro de tipo '<typeparametername>'

Um tipo genérico é invocado com uma classe MustInherit como um argumento de tipo, enquanto o parâmetro de tipo correspondente é declarado com a restrição New.

A restrição New exige que o tipo passado no argumento de tipo correspondente suporte para a criação de objetos. No entanto, uma classe abstrata, ou seja, uma classe declarada como MustInherit, não expõe construtores porque você não pode criar nenhum objeto a partir dela.

ID do erro: BC32082

Para corrigir este erro

  1. Se a classe usada no argumento de tipo não precisar ser abstrata, remova a palavra-chave MustInherit da sua declaração.

  2. Se a classe usada no argumento de tipo precisar ser abstrata, mas não precisar ser usada para construir o tipo genérico, passe uma classe diferente no argumento de tipo.

  3. Se o parâmetro de tipo correspondente não precisar criar nenhum objeto do tipo passado para ele, remova a restrição New de sua declaração.

Confira também