Compartir a través de


Los tipos de datos de los parámetros de tipo del método de extensión '<methodname>' definido en '<typename>' no se pueden inferir de estos argumentos

Los tipos de datos de los parámetros de tipo del método de extensión '<methodname>' definido en '<typename>' no se pueden inferir de estos argumentos. Especificar los tipos de datos explícitamente puede corregir este error.

Se ha intentado usar la inferencia de tipo para determinar el tipo (o tipos) de datos del parámetro (o parámetros) de tipo al evaluar una llamada a un método de extensión genérico. Sin embargo, el compilador no es capaz de encontrar un tipo de datos para los parámetros de tipo en este método y notifica el error.

Nota

Al especificar argumentos no es una opción (por ejemplo, para operadores de consulta en expresiones de consulta), el mensaje de error aparece sin la segunda oración.

El código siguiente muestra el 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  

Identificador de error: BC36649 y BC36646

Para corregir este error

  • Es posible que pueda especificar un tipo de datos para el parámetro o parámetros de tipo en lugar de confiar en la inferencia de tipo.

Consulte también