メソッド '<methodname>' 内の型パラメータのデータ型は複数になる可能性があるため、これらの引数から推論することはできません

更新 : 2007 年 11 月

エラー メッセージ

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

ジェネリック プロシージャの呼び出しで、型の推論を使用して、1 つ以上の型パラメータに対してデータ型を決定しようとしました。コンパイラは、1 つ以上の型パラメータに対して複数のデータ型を検出し、このエラーを生成します。

Bb531468.alert_note(ja-jp,VS.90).gifメモ :

引数を指定できない場合 (たとえば、クエリ式内のクエリ演算子など)、エラーの 2 つ目の文は表示されません。

エラーのコード例を次に示します。

Option Strict Off
Module Module1
    Sub Main()
        '' Not valid.
        'targetMethod(1, "2")
    End Sub

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

End Module

Error ID: BC36654 (LINQ クエリ内) および BC36651 (クエリ外)

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

  • エラーがクエリ外で発生した場合、型パラメータのデータ型を明示的に指定してください。

    targetMethod(Of Integer)(1, "2")
    

参照

概念

Visual Basic におけるジェネリック プロシージャ

参照

Option Strict ステートメント