using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GUI.GUIUtils { public class EventPerformer : LinkedList where ListenerType : class { public void AddSafe(ListenerType listener) { AddFirst(listener); } public void Perform(Action performFunc) { foreach (var it in this) { performFunc?.Invoke(it); } } } }