public static void Main(string[] args)
var waitForDelegate = new WaitForDelegate<IAnimation>(a);
public interface IAnimation
public class Animation : IAnimation
public event Action OnEnd;
public class WaitForDelegate<T> where T : IAnimation
public WaitForDelegate(T animation)
animation.OnEnd += () => { Console.WriteLine("trigger"); };