メソッド '<メソッド名>' 内の型パラメーターの 1 つ以上のデータ型が同じ型には変換されないため、これらの引数から推論することはできません

メソッド '<メソッド名>' 内の型パラメーターの 1 つ以上のデータ型が同じ型には変換されないため、これらの引数から推論することはできません。 データ型を明示的に指定すると、このエラーが修正される可能性があります。

ジェネリック プロシージャの呼び出しを評価するときに、型の推定を使用して、1 つ以上の型パラメーターに対して 1 つ以上のデータ型を決定しようとしました。 コンパイラは、すべての引数の制約を満たすデータ型を見つけることができませんでした。 そのため、このエラーが報告されました。

Note

引数の指定がオプションではない場合 (たとえば、クエリ式内のクエリ演算子など)、エラー メッセージの 2 つ目の文は表示されません。

次のコードはエラーを示しています。

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

このエラーを解決するには

  • 次のコードに示されているように、1 つ以上の引数を互換性のある型に明示的に変換することができます。

    targetMethod(19, #3/4/2007#.ToOADate)
    
  • 次のコードに示されているように、引数が変換される型パラメーターにデータ型を指定することができます。

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

関連項目