WithEvents LinkedList is it Impossible?
- by serhio
What is the optimal approach to a WithEvents Collection - VB.NET?
Have you any remarks on the code bellow (skipping the Nothing verifications)?
The problem is when I obtain the LinkedListNode(Of Foo) in a For Each block I can set 
myNode.Value = something, and here is a handlers leak...
-Could I override the FooCollection's GetEnumerator  in this case?
-No. :( cause NotInheritable Class LinkedListNode(Of T)
Class Foo
  Public Event SelectedChanged As EventHandler
End Class
Class FooCollection
  Inherits LinkedList(Of Foo)
  Public Event SelectedChanged As EventHandler
  Protected Overloads Sub AddFirst(ByVal item As Foo)
    AddHandler item.SelectedChanged, AddressOf OnSelectedChanged
    MyBase.AddFirst(item)
  End Sub
  Protected Overloads Sub AddLast(ByVal item As Foo)
    AddHandler item.SelectedChanged, AddressOf OnSelectedChanged
    MyBase.AddLast(item)
  End Sub
  ' ------------------- '
  Protected Overloads Sub RemoveFirst()
    RemoveHandler MyBase.First.Value.SelectedChanged, _
                         AddressOf OnSelectedChanged
    MyBase.RemoveFirst()
  End Sub
  Protected Overloads Sub RemoveLast(ByVal item As Foo)
    RemoveHandler MyBase.Last.Value.SelectedChanged, _
                        AddressOf OnSelectedChanged
    MyBase.RemoveLast()
  End Sub
  ' ------------------- '
  Protected Sub OnSelectedChanged(ByVal sender As Object, ByVal e As EventArgs)
    RaiseEvent SelectedChanged(sender, e)
  End Sub
End Class