„Option Strict On“ lässt keine Einschränkungen in impliziten Typkonvertierungen zwischen der Methode <Methodenname> und dem Delegaten <Delegatname> zu.

Mit „ Option Strict On“ können Sie keine einschränkende Konvertierung zwischen dem Datentyp eines Parameters in einem Delegaten und dem entsprechenden Parameter einer Funktion oder Sub , der einer Variablen dieses Delegattyps zugewiesen ist, vornehmen. Der Funktionsdelegat Del verfügt z. B. über einen Parameter vom Typ Integer, während die Funktionen Conversion1, Conversion2, und Conversion3 über einen Parameter mit unterschiedlichen numerischen Typen verfügen.

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  

Da eine erweiternde Konvertierung von Integer in Integer und in Longerfolgt, sind die folgenden Zuweisungen gültig.

' Valid.  
Dim funDel1 As Del = AddressOf Conversion1  
Dim funDel2 As Del = AddressOf Conversion2  

Die Konvertierung von Integer in Short ist eine einschränkende Konvertierung. Daher ist die folgende Zuordnung ungültig.

' Not valid.  
Dim funDel3 As Del = AddressOf Conversion3  

Fehler-ID: BC36663

So beheben Sie diesen Fehler

  • Ändern Sie den Datentyp des Parameters im Delegaten oder der Methode so, dass sich die erforderliche erweiternde Beziehung ergibt.

Siehe auch