'<型名>' で定義された拡張メソッド '<メソッド名>' 内の型パラメーターのデータ型を、これらの引数から推論することはできません

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

ジェネリック拡張メソッドの呼び出しを評価するときに、型の推定を使用して、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

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

  • 型の推定に依存せずに、型パラメーターまたはパラメーターのデータ型を指定できる場合があります。

関連項目