Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Option Strict On does not allow narrowing in implicit type conversions between the lambda expression and delegate '<delegatename>'
Con Option Strict attivata, non è possibile la conversione verso un tipo di dati più piccolo tra il tipo di dati di un parametro in un delegato e il parametro corrispondente di un'espressione lambda assegnata a una variabile di tale tipo di delegato. Nel codice seguente, ad esempio, il delegato Del ha un parametro di tipo Integer.
Delegate Function Del(ByVal p As Integer) As String
Pertanto, il parametro corrispondente di qualsiasi espressione lambda assegnata a una variabile di tipo Del può essere un Integer o un qualsiasi tipo di dati per il quale vi sia la conversione verso un tipo di dati più grande da 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 errore: BC36662
Per correggere l'errore
Modificare il tipo di dati del parametro nel delegato o l'espressione lambda così che esista la relazione obbligatoria di conversione verso un tipo di dati più grande.
Non specificare i tipi di dati dei parametri nell'espressione lambda. I tipi verranno derivati dai parametri corrispondenti nel delegato.
Dim example4 As Del = Function(n) "Valid"
Vedere anche
Concetti
Conversioni di ampliamento e restrizione
Conversione di tipo relaxed del delegato