Я не думаю, что был достаточно ясен, когда я первоначально отправил этот quesion.
Смотрите на эти снимки экрана.
(Свяжитесь с большим снимком экрана здесь),
Заметьте части, у меня есть загнанный в угол красный. Класс, отображенный здесь, реализует INotifyPropertyChanged
, но компилятор VB, кажется, думает что PropertyChanged
событие, как объявлено не соответствует подписи INotifyPropertyChanged.PropertyChanged
.
(Свяжитесь с большим снимком экрана здесь),
Здесь я выбрал незаконную строку кода. Между этим и следующим снимком экрана я буквально просто вырезал и вставил ту же самую строку назад в файл (т.е. я поразил Ctrl + X сопровождаемый Ctrl + V).
(Свяжитесь с большим снимком экрана здесь),
Теперь созерцайте! После вырезания и вставления строки въезжают задним ходом, ошибка уходит.
Что продолжается здесь?
Я имею, это иногда происходит, особенно с INotifyPropertyChanged
взаимодействуйте через интерфейс, по моему опыту, но я понятия не имею, ограничена ли проблема тем единственным интерфейсом (который казался бы причудливым), или нет.
Скажем, у меня есть некоторый кодовый набор как это. Существует интерфейс с единственным событием. Класс реализует тот интерфейс. Это включает событие.
Public Interface INotifyPropertyChanged
Event PropertyChanged As PropertyChangedEventHandler
End Interface
Public Class Person
Implements INotifyPropertyChanged
Public Event PropertyChanged _
(ByVal sender As Object, ByVal e As PropertyChangedEventArgs) _
Implements INotifyPropertyChanged.PropertyChanged
' more code below '
End Class
Время от времени, когда я разрабатываю свой проект, компилятор внезапно начнет действовать как вышеупомянутый код, повреждается. Это сообщит что Person
класс не реализует INotifyPropertyChanged
потому что это не имеет a PropertyChanged
событие; или это скажет PropertyChanged
событие не может реализовать INotifyPropertyChanged.PropertyChanged
потому что их подписи не соответствуют.
Это достаточно странно, как это, но здесь является самой странной частью: если я просто отключил строку, запускающуюся с Event PropertyChanged
и затем вставка, это въезжает задним ходом, ошибка, уходит. Сборки проекта.
У кого-либо есть какая-либо подсказка, что могло продолжаться здесь?
У меня код работает нормально (Visual Studio 2008), должно быть, вы столкнулись с какой-то ошибкой.
Во всяком случае, вы также можете реализовать это следующим образом:
Public Class Person
Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler _
Implements INotifyPropertyChanged.PropertyChanged
End Class