'<型名>' で定義された拡張メソッド '<メソッド名>' 内の型パラメーターのデータ型を、これらの引数から推論することはできません。 データ型を明示的に指定すると、このエラーが修正される可能性があります。
ジェネリック拡張メソッドの呼び出しを評価するときに、型の推定を使用して、1 つ以上の型パラメーターに対して 1 つ以上のデータ型を決定しようとしました。 ただし、コンパイラはこのメソッドの型パラメーターのデータ型を検索することができず、エラーを報告します。
Note
引数の指定がオプションではない場合 (たとえば、クエリ式内のクエリ演算子など)、エラー メッセージの 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
エラー ID: BC36649 and BC36646
このエラーを解決するには
- 型の推定に依存せずに、型パラメーターまたはパラメーターのデータ型を指定できる場合があります。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET