无法根据这些自变量推断出方法“<methodname>”中类型参数的数据类型,因为它们没有转换为同一类型

无法根据这些自变量推断出方法“<methodname>”中类型参数的数据类型,因为它们没有转换为同一类型。 显式指定数据类型可更正此错误。

在计算对泛型过程的调用时,试图使用类型推断功能来确定类型形参的数据类型。 编译器找不到符合所有实参约束的数据类型。 因此,编译器报告此错误。

注意

当无法指定实参时(例如,对于查询表达式中的查询运算符),显示的错误消息不包括第二个句子。

下面的代码演示了此错误。

Option Strict Off
Module Module1
    Sub Main()

        '' Not valid. Integer and Date do not convert to the same type.
        'targetMethod(19, #3/4/2007#)

    End Sub

    Sub targetMethod(Of T)(ByVal p1 As T, ByVal p2 As T)
    End Sub

End Module

错误 ID: BC36660 和 BC36657

更正此错误

  • 你或许能够将一个或多个实参显式转换为某个兼容类型,如以下代码所示:

    targetMethod(19, #3/4/2007#.ToOADate)
    
  • 你或许能够为实参转换到的类型形参指定数据类型,如以下代码所示:

    targetMethod(Of String)(19, #3/4/2007#)
    

另请参阅