Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una instrucción construye un tipo genérico que pasa un parámetro de tipo que no está restringido para satisfacer una restricción New .
La restricción New significa que el argumento de tipo proporcionado para ese parámetro de tipo debe exponer un constructor sin parámetros accesible para el código que crea objetos a partir de ella. Todos los tipos de valor tienen constructores sin parámetros, pero no todos los tipos de referencia los tienen. Por lo tanto, la restricción Structure satisface la restricción New , pero la restricción Class o el nombre de clase o interfaz no.
Las instrucciones siguientes pueden generar este error.
Public Class c1(Of t As New)
End Class
Public Class c2(Of u)
Public testObject As New c1(Of u)
End Class
Si la clase c2 crea un objeto de c1, el parámetro de tipo u no satisface la restricción New en el parámetro de tipo t.
Identificador de error: BC32084
Para corregir este error
Si el parámetro de tipo que se pasará al tipo genérico puede satisfacer la restricción
StructureoNew, agregue la restricción adecuada a su definición.Public Class c2(Of u As Structure)Si el parámetro de tipo no puede satisfacer la restricción
StructureoNew, no la pase al tipo genérico. Debe pasar algo como argumento de tipo.