Os operandos 'TryCast' devem ser parâmetros de tipo restritos por classe, mas '<typeparametername>' não tem restrição de classe

O operador TryCast Operator é usado com um operando de parâmetro de tipo que não é garantido ser um tipo de referência.

TryCast opera apenas em tipos de referência, como classes ou interfaces. Quando você passa um parâmetro type como um argumento para TryCast, você deve restringir esse parâmetro type para ser um tipo de referência. Você pode fazer isso incluindo um ou mais dos seguintes itens na lista de restrições do parâmetro type:

  • Um ou mais nomes de interface (o argumento type deve implementar todos eles)

  • No máximo um nome de classe (o argumento type deve herdar dele)

  • A restrição New Operator (o argumento type deve expor um construtor sem parâmetros que o código de criação pode acessar e, portanto, deve ser uma classe)

  • A restrição Class (Visual Basic) (o argumento type deve ser um tipo de referência)

ID de erro: BC30793

Para corrigir este erro

  • Se você precisar passar esse parâmetro de tipo para TryCast, restrinja-o com uma ou mais das restrições na lista anterior.

  • Se você não puder exigir que o parâmetro type aceite apenas um tipo de referência, não poderá usá-lo com TryCast. Em vez disso, poderá utilizar a função CType .

Consulte também