'<型名>' で定義された拡張メソッド '<メソッド名>' に、デリゲート '<デリゲート名>' と同じシグネチャがありません
拡張メソッドのシグネチャと、使用しようとしているデリゲートのシグネチャが一致していません。 Delegate
ステートメントでは、デリゲート クラスのパラメーターの型と戻り値の型を定義します。 パラメーター、型、および戻り値の型が一致するプロシージャを使用すると、このデリゲート型のインスタンスを作成できます。 次の例では、拡張メソッド Example
のシグネチャと、デリゲート Del
のシグネチャに互換性がないため、このエラーが発生します。
' Definition of the delegate, with two parameters.
Delegate Sub Del(ByVal m As Integer, ByVal s As String)
' Definition of the extension method, with one parameter.
<Extension()> _
Sub Example(ByVal s As String)
' Body of the Sub.
End Sub
'' This assignment causes the error.
' Dim exampleDel As Del = AddressOf Example
エラー ID: BC36580
デリゲートと拡張メソッドに同じ数のパラメーターがあることを確認します。
デリゲートと拡張メソッドで、パラメーターの順序が同じになっていることを確認します。
各パラメーターのデータ型と、対応する拡張メソッドのパラメーターを比較して、互換性があることを確認します。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。