Как избежать обработки события дважды (если это один и тот же обработчик?)
Module Module1
Sub Main()
Dim item As New Item
AddHandler item.TitleChanged, AddressOf Item_TitleChanged
AddHandler item.TitleChanged, AddressOf Item_TitleChanged
item.Title = "asdf"
Stop
End Sub
Private Sub Item_TitleChanged(sender As Object, e As EventArgs)
Console.WriteLine("Title changed!")
End Sub
End Module
Public Class Item
Private m_Title As String
Public Property Title() As String
Get
Return m_Title
End Get
Set(ByVal value As String)
m_Title = value
RaiseEvent TitleChanged(Me, EventArgs.Empty)
End Set
End Property
Public Event TitleChanged As EventHandler
End Class
Вывод:
Title changed!
Title changed!
Желаемый вывод:
Title changed!
Я хочу, чтобы менеджер событий обнаружил, что это событие уже обработано этим обработчиком, и поэтому он не должен обрабатывать (или читать) его.