メソッド '<methodname>' 内の型パラメータの 1 つ以上のデータ型は同じ型には変換されないため、これらの引数から推論することはできません
更新 : 2007 年 11 月
エラー メッセージ
メソッド '<methodname>' 内の型パラメータの 1 つ以上のデータ型は同じ型には変換されないため、これらの引数から推論することはできません。データ型を明示的に指定すると、このエラーが修正される可能性があります。
ジェネリック プロシージャの呼び出しを評価するときに、型の推論を使用して、1 つ以上の型パラメータに対してデータ型を決定しようとしました。コンパイラは、すべての引数の制約に合うデータ型を見つけることができませんでした。このため、このエラーが発生しました。
メモ : |
---|
引数を指定できない場合 (たとえば、クエリ式内のクエリ演算子など)、エラーの 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
Error ID: BC36660 および BC36657
このエラーを解決するには
次のコード例のように、1 つ以上の引数を互換性のある型に明示的に変換できる場合があります。
targetMethod(19, #3/4/2007#.ToOADate)
また、次のコード例のように、引数が変換される型パラメータのデータ型を指定できる場合があります。
targetMethod(Of String)(19, #3/4/2007#)
参照
概念
Visual Basic におけるジェネリック プロシージャ