using System; namespace ConsoleApp1 { public class Program { static void Main(string[] args) { var tw = new TopWork(); tw.Work(); } } public class TopWork { public Work _work; public TopWork() { _work = new Work(); _work._event += new Work.CompleteHandler(Done1); _work._delegate += new Work.CompleteHandler(Done1); } public void Work() { _work.JustWork(); } private void Done1(int number) { Console.WriteLine($"Done1 {number}"); } } public class Work { public delegate void CompleteHandler(int number); public Work.CompleteHandler _delegate; public event Work.CompleteHandler _event; public void JustWork() { _delegate(4); _event(4); } } }