Поделиться через


Option Strict On требует, чтобы каждый параметр лямбда-выражения объявлялся с предложением As, если его тип не может быть выведен

Обновлен: Ноябрь 2007

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

Параметр в лямбда-выражении был объявлен без использования предложения As с включенным Option Strict.

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

Предыдущее объявление допустимо, если тип n может быть выведен. Например, если предыдущее лямбда-выражение назначается делегату функции Del:

Delegate Function Del(ByVal p As Integer) As Integer

Теперь тип n может быть выведен из параметра p:

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

Идентификатор ошибки: BC36642

Чтобы исправить эту ошибку

  • Добавьте предложение As к объявлению параметра:

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

См. также

Основные понятия

Лямбда-выражения