Параметр Strict On не позволяет сузить неявные преобразования типов между лямбда-выражением и делегатом "<делегирование">
С " Option Strict
on" у вас не может иметься сужающее преобразование между типом данных параметра в делегате и соответствующим параметром лямбда-выражения, назначенным переменной этого типа делегата. Например, в следующем коде делегат Del
имеет один параметр типа Integer
.
Delegate Function Del(ByVal p As Integer) As String
Таким образом, соответствующий параметр любого лямбда-выражения, назначенный переменной типа Del
, может быть Integer
или любого типа данных, для которого имеется расширяющее преобразование из 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"
Идентификатор ошибки: BC36662
Измените тип данных параметра в делегате или лямбда-выражении, чтобы существовало необходимое расширяющее отношение.
Не указывайте типы данных параметров в лямбда-выражении. Типы будут выводиться из соответствующих параметров в делегате.
Dim example4 As Del = Function(n) "Valid"
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: