C# Génériques ne permettent pas à Déléguer les Contraintes de Type

Est-il possible de définir une classe en C#, tels que

class GenericCollection<T> : SomeBaseCollection<T> where T : Delegate

Je ne pouvais pas pour la vie de m'accomplir cette dernière nuit .NET 3.5. J'ai essayé d'utiliser

delegate, Delegate, Action<T> and Func<T, T>

Il me semble que cela devrait être permis, d'une certaine façon. Je suis en train de mettre en place mes propres EventQueue.

J'ai juste le faire [primitive rapprochement que vous avez l'esprit].

internal delegate void DWork();

class EventQueue {
    private Queue<DWork> eventq;
}

Mais je perds la possibilité de réutiliser la même définition pour les différents types de fonctions.

Pensées?