using System; namespace GAS.Runtime { public class EventBase where T : EventArgs { public event EventHandler EventHandler; public void Publish(T args) { EventHandler?.Invoke(this, args); } public void Subscribe(EventHandler handler) { EventHandler += handler; } public void Unsubscribe(EventHandler handler) { EventHandler -= handler; } } }