Option Strict On n'autorise pas les conversions restrictives lors des conversions de types implicites entre l'expression lambda et le délégué '<NomDélégué>'
Mise à jour : novembre 2007
Option Strict On does not allow narrowing in implicit type conversions between the lambda expression and delegate '<delegatename>'
Avec Option Strict On, vous ne pouvez pas avoir de conversion restrictive entre le type de données d'un paramètre dans un délégué et le paramètre correspondant d'une expression lambda assignée à une variable de ce type délégué. Par exemple, dans le code suivant, le délégué Del a un paramètre de type Integer.
Delegate Function Del(ByVal p As Integer) As String
Par conséquent, le paramètre correspondant de n'importe quelle expression lambda assignée à une variable de type Del peut être un Integer ou tout type de données pour lequel il existe une conversion étendue à partir de 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"
ID d'erreur : BC36662
Pour corriger cette erreur
Modifiez le type de données du paramètre dans le délégué ou l'expression lambda afin que la relation d'élargissement requise existe.
Ne spécifiez pas les types de données des paramètres dans l'expression lambda. Les types seront déduits des paramètres correspondants dans le délégué.
Dim example4 As Del = Function(n) "Valid"
Voir aussi
Concepts
Conversions étendues et restrictives
Conversion simplifiée des délégués