Тип(ы) данных параметра или параметров метода расширения <имяМетода>, определенного в типе <имяТипа>, невозможно вывести из этих аргументов
Обновлен: Ноябрь 2007
Сообщение об ошибке
Типы данных параметров-типов в методе расширения "<имя_метода>", определенного в "<имя_типа>", не могут быть определены из этих аргументов. Явное указание типов данных может исправить эту ошибку.
Data type(s) of the type parameter(s) in extension method '<methodname>' defined in '<typename>' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error.
Предпринята попытка использования определения типов для определения типа (или типов) данных параметра (или параметров) типа во время определения вызова для создания метода расширения. Однако в этом методе компилятору не удается найти типа данных для параметров-типов и он сообщает об ошибке.
Примечание. |
---|
Когда аргументы являются обязательными (например, в операторах выражений запросов), это сообщение об ошибке отображается без второго предложения. |
Данная ошибка показана в следующем коде.
Module Module1
Sub Main()
Dim classInstance As ClassExample
'' Not valid.
'classInstance.GenericExtensionMethod("Hello", "World")
End Sub
<System.Runtime.CompilerServices.Extension()> _
Sub GenericExtensionMethod(Of T)(ByVal classEx As ClassExample, _
ByVal x As String, ByVal y As _
InterfaceExample(Of T))
End Sub
End Module
Interface InterfaceExample(Of T)
End Interface
Class ClassExample
End Class
Идентификатор ошибки: BC36649 и BC36646
Исправление данной ошибки
- Попробуйте указать тип данных для параметра или параметров типа, вместо того чтобы полагаться на определение типа.
См. также
Основные понятия
Ослабленное преобразование делегата
Методы расширения (Visual Basic)
Универсальные процедуры в Visual Basic