Datové typy parametrů typů v metodě< rozšíření methodname definované v< typename>> nelze odvodit z těchto argumentů, protože je možné odvodit více než jeden typ.

Datové typy parametrů typu v metodě< rozšíření methodname definované v< typename>> nelze odvodit z těchto argumentů, protože je možné odvodit více než jeden typ. Pokud zadáte datové typy explicitně, může se tato chyba opravit.

Byl proveden pokus o použití odvození typu k určení typu (nebo typů) parametru typu (nebo parametrů) ve volání obecné rozšiřující metody. Kompilátor najde více než jeden možný datový typ pro jeden nebo více parametrů typu a hlásí tuto chybu.

Poznámka:

Při zadávání argumentů není možnost (například pro operátory dotazu ve výrazech dotazu), zobrazí se chybová zpráva bez druhé věty.

Následující kód ukazuje chybu.

Option Strict Off
Imports System.Runtime.CompilerServices
Module Module1
    Sub Main()

        Dim caller As New Class1
        '' Not valid.
        'caller.targetExtension(1, "2")

    End Sub

    <Extension()> _
    Sub targetExtension(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
    End Sub

    Class Class1
    End Class

End Module

ID chyby: BC36655 (v dotazech LINQ) a BC36652 (mimo dotazy)

Oprava této chyby

Pokud se chyba zobrazí mimo dotaz, zkuste explicitně zadat datový typ parametru nebo parametrů typu:

caller.targetExtension(Of Integer)(1, "2")
caller.targetExtension(Of String)(1, "2")

Viz také