Datatyper av typen parameter(er) i tilläggsmetoden "<methodname>" som definierats i "<typename>" kan inte härledas från dessa argument

Datatyper av typen parameter(er) i tilläggsmetoden "<methodname>" som definierats i "<typename>" kan inte härledas från dessa argument. Om du uttryckligen anger datatyperna kan det här felet korrigeras.

Ett försök har gjorts att använda typinferens för att fastställa datatypen (eller typerna) av typparametern (eller parametrarna) när ett anrop till en generisk tilläggsmetod utvärderas. Kompilatorn kan dock inte hitta någon datatyp för typparametrarna i den här metoden, och den rapporterar felet.

Kommentar

När du anger argument är inte ett alternativ (till exempel för frågeoperatorer i frågeuttryck) visas felmeddelandet utan den andra meningen.

Följande kod visar felet.

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  

Fel-ID: BC36649 och BC36646

Så här åtgärdar du det här felet

  • Du kanske kan ange en datatyp för typparametern eller parametrarna i stället för att förlita dig på typinferens.

Se även