Číst v angličtině

Sdílet prostřednictvím


Option Strict On vyžaduje, aby byl každý parametr výrazu lambda deklarován klauzulí As, pokud jeho typ nelze odvodit.

Deklarovali jste parametr ve výrazu lambda bez použití klauzule se zapnutou As klauzulí Option Strict .

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

Předchozí deklarace je platná, pokud lze odvodit typ n . Pokud například přiřazujete předchozí výraz lambda delegátovi funkce, Del:

VB
Delegate Function Del(ByVal p As Integer) As Integer  

Nyní lze typ n odvodit z parametru p:

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

ID chyby: BC36642

Oprava této chyby

  • As Přidejte do deklarace parametru klauzuli:

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

Viz také