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.
Cuando se activa Option Strict , no se puede realizar una conversión de restricción entre el tipo de datos de un parámetro en un delegado y el parámetro correspondiente de una función o Sub asignado a una variable de ese tipo de delegado. Por ejemplo, el delegado de función Del tiene un parámetro de tipo Integer, y las funciones Conversion1, Conversion2, y Conversion3 tienen un parámetro de tipos numéricos diferentes.
Delegate Function Del(ByVal p As Integer) As String
Function Conversion1(ByVal n As Integer) As String
Return "Valid"
End Function
Function Conversion2(ByVal n As Long) As String
Return "Valid"
End Function
Function Conversion3(ByVal n As Short) As String
Return "Not valid"
End Function
Como no hay una conversión de ampliación de Integer a Integer y a Long, las siguientes asignaciones son válidas.
' Valid.
Dim funDel1 As Del = AddressOf Conversion1
Dim funDel2 As Del = AddressOf Conversion2
La conversión de Integer a Short es una conversión de reducción. Por consiguiente, la siguiente asignación no es válida.
' Not valid.
Dim funDel3 As Del = AddressOf Conversion3
Identificador de error: BC36663
Para corregir este error
- Cambie el tipo de datos del parámetro en el delegado o el método para que exista la relación de ampliación necesaria.