Option Strict On erlaubt keine Einschränkungen in impliziten Typkonvertierungen zwischen dem Lambda-Ausdruck und dem Delegaten '<Delegatname>'

Aktualisiert: November 2007

Option Strict On does not allow narrowing in implicit type conversions between the lambda expression and delegate '<delegatename>'

Bei Option Strict On wird 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, unterstützt. Im folgenden Code verfügt der Del-Delegat beispielsweise über einen Parameter des Typs Integer.

Delegate Function Del(ByVal p As Integer) As String

Der entsprechende Parameter eines einer Variablen des Typs Del zugewiesenen Lambda-Ausdrucks kann deshalb eine Integer oder ein beliebiger Datentyp sein, für den eine erweiterte Konvertierung aus Integer vorhanden 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 in den Delegaten oder den Lambda-Ausdruck, um die erforderliche erweiternde Beziehung herzustellen.

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

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

Siehe auch

Konzepte

Lambda-Ausdrücke

Erweiternde und eingrenzende Konvertierungen

Gelockerte Delegatenkonvertierung

Weitere Ressourcen

Delegaten in Visual Basic