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.
Con Option Strict On, no puede haber una conversión de restricción entre el tipo de datos de un parámetro de un delegado y el parámetro correspondiente de una expresión lambda asignada a una variable de ese tipo de delegado. Por ejemplo, en el código siguiente, el delegado Del tiene un parámetro de tipo Integer.
Delegate Function Del(ByVal p As Integer) As String
Por lo tanto, el parámetro correspondiente de cualquier expresión lambda que se asigna a una variable de tipo Del puede ser Integer o cualquier tipo de datos para el que hay una conversión de ampliación desde Integer.
' Valid.
Dim example1 As Del = Function(n As Integer) "Valid"
Dim example2 As Del = Function(n As Long) "Valid"
' Not valid.
Dim example3 As Del = Function(n As Short) "Not Valid"
Identificador de error: BC36662
Para corregir este error
Cambie el tipo de datos del parámetro en el delegado o la expresión lambda para que exista la relación de ampliación necesaria.
No especifique tipos de datos de parámetro en la expresión lambda. Los tipos se inferirán de los parámetros correspondientes en el delegado.
Dim example4 As Del = Function(n) "Valid"