Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie można wywnioskować typów parametrów typu w metodzie rozszerzenia "<methodname" zdefiniowanej w metodzie "typename>" z tych argumentów, ponieważ nie są one konwertowane na ten sam typ. 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. Kompilator nie może odnaleźć typu danych spełniającego ograniczenia wszystkich argumentów. W związku z tym zgłosił ten 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.
Option Strict Off
Module Module3
Sub Main()
Dim c1 As New Class1
'' Not valid. Integer and Date do not convert to the same type.
'c1.targetMethod(19, #3/4/2007#)
End Sub
<System.Runtime.CompilerServices.Extension()> _
Sub targetMethod(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
End Sub
Class Class1
End Class
End Module
Identyfikator błędu: BC36661 i BC36658
Aby poprawić ten błąd
Można jawnie przekonwertować jeden lub więcej argumentów na zgodny typ, jak pokazano w poniższym kodzie:
c1.targetMethod(19, #3/4/2007#.ToOADate)Możesz określić typ danych dla parametru typu lub parametrów, do których argumenty są konwertowane, jak pokazano w poniższym kodzie:
c1.targetMethod(Of String)(19, #3/4/2007#)