'<typename>' で定義された拡張メソッド '<methodname>' 内の型パラメータのデータ型を、これらの引数から推論することはできません
更新 : 2007 年 11 月
エラー メッセージ
'<typename>' で定義された拡張メソッド '<methodname>' 内の型パラメータのデータ型を、これらの引数から推論することはできません。データ型を明示的に指定すると、このエラーが修正される可能性があります。
ジェネリック拡張メソッドの呼び出しを評価するときに、型の推論を使用して型パラメータのデータ型を決定しようとしました。ただし、コンパイラは、このメソッド内の型パラメータに対してデータ型を検出することができないため、このエラーを生成します。
メモ : |
---|
引数を指定できない場合 (たとえば、クエリ式内のクエリ演算子など)、エラーの 2 つ目の文は表示されません。 |
エラーのコード例を次に示します。
Module Module1
Sub Main()
Dim classInstance As ClassExample
'' Not valid.
'classInstance.GenericExtensionMethod("Hello", "World")
End Sub
<System.Runtime.CompilerServices.Extension()> _
Sub GenericExtensionMethod(Of T)(ByVal classEx As ClassExample, _
ByVal x As String, ByVal y As _
InterfaceExample(Of T))
End Sub
End Module
Interface InterfaceExample(Of T)
End Interface
Class ClassExample
End Class
Error ID: BC36649 および BC36646
このエラーを解決するには
- 型の推論に依存することなく、型パラメータのデータ型を指定できる場合があります。
参照
概念
Visual Basic におけるジェネリック プロシージャ