VB.NET не будет компилироваться из-за подчеркивания - PullRequest
0 голосов
/ 23 февраля 2011

Я несколько месяцев выполнял один и тот же проект на том же компьютере в VS2010.

Не было никаких изменений кода в классе, который содержит следующий код:

Private Event ValueChanged(ByVal sender As Object, ByVal e As EventArgs) _
    Implements STI.Shared.UI.IEditField.ValueChanged

В последнее время, когда я компилирую, я получаю сообщение об ошибке, что мой класс должен реализовать событие ValueChanged. enter image description here

Когда я удаляю подчеркивание и помещаю фрагмент Implements в ту же строку, он компилируется.

Если я затем отменяю извлечение и возвращаю его обратно к тому, что было раньше, он компилируется.

Это просто очень странное поведение, и мне интересно, испытывал ли кто-нибудь что-то подобное.

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Я могу воспроизвести ошибку, но только с небольшой технической подробностью:

Public Interface ITest

    'Note here i have specified System.EventArgs
    Event ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs)  

End Interface

Public Class TestFail
    Implements ITest

    'And here I have only specified EventArgs, which is fine...
    Private Event ValueChanged(ByVal sender As Object, ByVal e As EventArgs) Implements ITest.ValueChanged

End Class

'Unless you declare another class called EventArgs in the same namespace...
Public Class EventArgs

End Class


Public Class TestWin
    Implements ITest

    'It should work if you just prefix the EventArgs with System though, like so:
    Private Event ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Implements ITest.ValueChanged

End Class

И вот ошибки, которые вы получите от нее:

Error List

0 голосов
/ 23 февраля 2011

Вам не нужно подчеркивание в этой ситуации.Подчеркивание в этом случае даже не допустимый синтаксис.Это кажется немного странным.Похоже, что реализации будут рассматриваться как аргумент оператора CLASS, но это не так.Все это считается контекстно-зависимым утверждением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...