Nie można wywnioskować typów typów parametrów w metodzie rozszerzenia "<methodname" zdefiniowanej w metodzie "<typename>>" z tych argumentów

Nie można wywnioskować typów typów parametrów w metodzie rozszerzenia "<methodname" zdefiniowanej w metodzie "<typename>>" z tych argumentów. Jawne określenie typów danych może poprawić ten błąd.

Podjęto próbę użycia wnioskowania typu w celu określenia typu (lub typów) parametru typu (lub parametrów) podczas oceniania wywołania metody rozszerzenia ogólnego. Jednak kompilator nie może znaleźć typu danych dla parametrów typu w tej metodzie i zgłasza błąd.

Uwaga

Podczas określania argumentów nie jest opcją (na przykład w przypadku operatorów zapytań w wyrażeniach zapytania) komunikat o błędzie jest wyświetlany bez drugiego zdania.

Poniższy kod demonstruje błąd.

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  

Identyfikator błędu: BC36649 i BC36646

Aby poprawić ten błąd

  • Możesz określić typ danych dla parametru typu lub parametrów zamiast polegać na wnioskowaniu typu.

Zobacz też