Я получаю сообщение «... не имеет подпись, совместимую с делегатом ...» при попытке передать параметр методу. Может ли кто-нибудь посоветовать мне, что я делаю неправильно?Метод вызова из нажатия кнопки не имеет совместимой подписи
Private Sub btnSubmit_Click(sender As Object, e As RoutedEventArgs) Handles btnSubmit.Click
Step6Click("btnSubmit")
End Sub
Private Sub Step6Click(whereFrom As String)
Первоначально, ошибка не отмечена, но когда приложение построено, происходит ошибка.
Я изменил («btnSubmit») на («xxx»), думая, что возник конфликт с передачей «btnSubmit», когда была кнопка с именем то же самое. Все еще получите ошибку.
Если я вывожу параметр все вместе, то ошибки не возникает, но мне нужно знать в Step6Click, откуда пришел вызов.
Я могу обойти ошибку, создав свойство или переменную, называемую «whereFrom». Однако я хотел бы понять, почему это ошибка.
Полное сообщение об ошибке:
Ошибка 33 Method 'Private Sub Step6Click (откуда As String)' не имеет подписи, совместимые с делегатом «Делегат Sub RoutedEventHandler (отправителем как объект, е Как System.Windows .RoutedEventArgs).
Спасибо.
Этот вызов 'Step6Click' в порядке. Строка - это строка. Что еще вы делаете с помощью «Step6Click»? Вы пытаетесь использовать его как обработчик событий где-нибудь? Попробуйте Ctl + Shift + F и найдите все решение для «Step6Click». –
Вы как-то сделали Step6Click() обработчиком событий. Посмотри в ХАМЛ. –
В Bizarrely проект WPF VB.NET позволит вам использовать метод без параметров в качестве обработчика маршрутизируемого события в XAML: 'Click =" Step6Click "'. Однако, если у него есть какие-либо параметры *, но не * правильные параметры для делегата 'RoutedEventHandler', вы получите сообщение об ошибке, которое вы видите. C# WPF не позволит вам это сделать, и вы получаете * «Никакая перегрузка для« Foo »не соответствует делегату« RoutedEventHandler ».» * Если вы попытаетесь. –