Tipos de dados do tipo de parâmetros no método de extensão '<methodname>' definido em '<typename>' não podem ser deduzidos a partir desses argumentos
Mensagem de erro
Tipos de dados do tipo de parâmetros no método de extensão '<methodname>' definido em '<typename>' não podem ser deduzidos a partir desses argumentos.Especificando os dados tipos explicitamente podem corrigir esse erro.
Foi feita uma tentativa de usar inferência de tipos de tipos para determinar o tipo de dados (ou tipos) de parâmetro de tipo (ou parâmetros) ao avaliar uma telefonar para um método de extensão genérica.No entanto, o compilador não é capaz de encontrar um tipo de dados para os parâmetros de tipo nesse método, e informa o erro.
![]() |
---|
Quando especificar argumentos não é uma opção (por exemplo, para operadores de consulta em expressões de consulta), a mensagem de erro appe ARS sem a segunda sentença . |
O código a seguir demonstra o erro.
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
ID de erro: BC36649 e BC36646
Para corrigir este erro
- Você poderá especificar um tipo de dados para o parâmetro de tipo ou parâmetros em vez de depender de inferência de tipos de tipos.
Consulte também
Conceitos
Conversão de delegado reduzida
Métodos de extensão (Visual Basic)
Procedimentos Genéricos em Visual Basic