Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O(s) tipo(s) de dados do(s) parâmetro(s) de tipo no método de extensão '<methodname>' definido em '<typename>' não podem ser inferidos a partir destes argumentos. Especificar explicitamente o(s) tipo(s) de dados pode corrigir esse erro.
Foi feita uma tentativa de usar a inferência de tipo para determinar o tipo de dados (ou tipos) do parâmetro de tipo (ou parâmetros) ao avaliar uma chamada para um método de extensão genérico. No entanto, o compilador não é capaz de encontrar um tipo de dados para os parâmetros de tipo neste método, e ele relata o erro.
Nota
Quando a especificação de argumentos não é uma opção (por exemplo, para operadores de consulta em expressões de consulta), a mensagem de erro aparece sem a segunda frase.
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
- Talvez seja possível especificar um tipo de dados para o(s) parâmetro(s) de tipo, em vez de confiar na inferência de tipo.