Los operandos 'TryCast' deben ser parámetros de tipo restringido por clases, pero '<typeparametername>' no tiene ninguna restricción de clase.

El operador TryCast Operator se usa con un operando de parámetro de tipo que no se garantiza que sea un tipo de referencia.

TryCast solo funciona en tipos de referencia, como clases o interfaces. Al pasar un parámetro de tipo como argumento a TryCast, debe restringir ese parámetro de tipo para que sea un tipo de referencia. Para ello, incluya uno o varios de los siguientes elementos en la lista de restricciones del parámetro de tipo:

  • Uno o más nombres de interfaz (el argumento type debe implementar todos ellos)

  • Como máximo, un nombre de clase (el argumento de tipo debe heredar de él)

  • La restricción New Operator (el argumento type debe exponer un constructor sin parámetros al que puede tener acceso el código de creación y, por tanto, debe ser una clase).

  • La restricción Class (Visual Basic) ( el argumento type debe ser un tipo de referencia)

Identificador de error: BC30793

Para corregir este error

  • Si necesita pasar este parámetro de tipo a TryCast, restrinjalo con una o varias de las restricciones de la lista anterior.

  • Si no puede requerir que el parámetro de tipo acepte solo un tipo de referencia, no puede usarlo con TryCast. Es posible que pueda usar la función CType en su lugar.

Consulte también