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


Аргументы типа для метода расширения <имяМетода>, определенные как <имяТипа>, не удалось вывести из делегата <имяДелегата>

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

Type arguments for extension method '<methodName>' defined in '<typeName>' could not be inferred from the delegate '<delagateName>'

Оператор присваивания использует AddressOf, чтобы присвоить адрес шаблонного метода расширения делегату, но он не поддерживает аргументы любого типа для метода расширения.

Обычно при вызове универсального метода, передается аргумент типа для каждого параметра типа, который определяется универсальным методом. Если аргументы типа не передаются, компилятор пытается определить типы, которые должны быть переданы параметрам типа. Если контекст не предоставляет достаточно сведений компилятору для определения типов, возникает ошибка.

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

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

  • В выражении AddressOf задайте аргументы типа для метода расширения.

См. также

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

Универсальные типы в Visual Basic

Универсальные процедуры в Visual Basic

Методы расширения (Visual Basic)

Ссылки

Оператор AddressOf

Список типов