このエラーは、メソッドとデリゲート間で必要な変換ができない場合に生じます。 エラーの原因としては、パラメーターの間の変換か、戻り値の変換 (メソッドとデリゲートが関数の場合) が考えられます。
次のコードは、こうした障害が発生する変換を示しています。 デリゲートは FunDelです。
Delegate Function FunDel(ByVal i As Integer, ByVal d As Double) As Integer
次の関数は、このエラーを生じさせる原因が FunDel とはそれぞれ異なります。
Function ExampleMethod1(ByVal m As Integer, ByVal aDate As Date) As Integer
End Function
Function ExampleMethod2(ByVal m As Integer, ByVal aDouble As Double) As Date
End Function
次のそれぞれの代入ステートメントでもエラーが発生します。
Sub Main()
' The second parameters of FunDel and ExampleMethod1, Double and Date,
' are not compatible.
'Dim d1 As FunDel = AddressOf ExampleMethod1
' The return types of FunDel and ExampleMethod2, Integer and Date,
' are not compatible.
'Dim d2 As FunDel = AddressOf ExampleMethod2
End Sub
エラー ID: BC31143
このエラーを解決するには
- 対応するパラメーター、および戻り値の型 (存在する場合) を調べて、互換性のないペアを特定します。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET