„Option Strict On“ lässt keine Einschränkungen in impliziten Typkonvertierungen zwischen dem Lambdaausdruck und dem Delegat „<delegatename>“ zu.

Mit Option Strict On" können Sie keine einschränkende Konvertierung zwischen dem Datentyp eines Parameters in einem Delegaten und dem entsprechenden Parameter eines lambda-Ausdrucks, der einer Variablen dieses Delegattyps zugewiesen ist, vornehmen. Im folgenden Code verfügt z. B. Delegat Del über einen Parameter vom Typ Integer.

Delegate Function Del(ByVal p As Integer) As String  

Daher kann der entsprechende Parameter eines beliebigen lambda-Ausdrucks, der einer Variablen vom Typ Del zugewiesen ist, ein Integer oder ein beliebiger Datentyp sein, für den eine erweiternde Konvertierung von Integervorhanden ist.

' 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"  

Fehler-ID: BC36662

So beheben Sie diesen Fehler

  • Ändern Sie den Datentyp des Parameters im Delegaten oder den lambda-Ausdrucks, sodass die erforderliche erweiternde Beziehung vorhanden ist.

  • Geben Sie im lambda-Ausdruck keine Parameterdatentypen an. Die Typen werden von den entsprechenden Parametern im Delegaten abgeleitet.

Dim example4 As Del = Function(n) "Valid"  

Siehe auch