C #: déclenchement d'un événement lorsqu'un objet est ajouté à une file d'attente

J'ai besoin d'être en mesure de déclencher un événement chaque fois qu'un objet est ajouté à un Queue<Delegate>.

J'ai créé une nouvelle classe qui étend la classe Queue:

public delegate void ChangedEventHandler(object sender, EventArgs e);

public class QueueWithChange<Delegate> : Queue<Delegate>
{
    public event ChangedEventHandler Changed;

    protected virtual void OnChanged(EventArgs e) {
        if (Changed != null)
        {
            Changed(this, e);
        }
    }
}

Puis attaché à l'événement à partir d'une autre classe, comme tel:

QueueWithChange<TimerDelegate> eventQueue = new QueueWithChange<TimerDelegate>();

//

eventQueue.Changed += new ChangedEventHandler(delegate(object s, EventArgs ex) {
    //This event is not being triggered, so this code is unreachable atm...and that is my problem

    if (eventQueue.Count > 0)
    {
        eventQueue.Dequeue().Invoke(new DispatcherTimer() { Interval = TimeSpan.FromMilliseconds(5) });
        actionTimer.Stop();
    }
});

Mais à chaque fois que je mets en file d'attente un objet (eventQueue.Enqueue(something)), le joint de l'événement n'est pas déclenché.

Ce qui me manque ici?

source d'informationauteur Andreas Grech