Option Strict On richiede che ciascun parametro di espressione lambda venga dichiarato con una clausola 'As' se non è possibile dedurne il relativo tipo

Aggiornamento: novembre 2007

Option Strict On requires each lambda expression parameter to be declared with an 'As' clause if its type cannot be inferred

È stato dichiarato un parametro in un'espressione lambda senza utilizzare una clausola As, con Option Strict attivato.

' Not valid when Option Strict is on.
' Dim increment1 = Function (n) n + 1

La dichiarazione precedente è valida se è possibile dedurre il tipo di n. Ad esempio, se si sta assegnando l'espressione lambda precedente a un delegato della funzione, Del:

Delegate Function Del(ByVal p As Integer) As Integer

Ora il tipo di n può essere derivato dal parametro p:

Dim increment2 as Del = Function(n) n + 1

ID errore: BC36642

Per correggere l'errore

  • Aggiungere una clausola As alla dichiarazione del parametro:

    Dim increment3 = Function (n As Integer) n + 1
    

Vedere anche

Concetti

Espressioni lambda