static void CallSecond() { List2 list = new List2(); EventListener listener = new EventListener(list); Console.WriteLine("Length of invocation list: {0}.", list.GetInvocationListLength()); list.Add("item 1"); list.Clear(); listener.Detach(); Console.WriteLine("Length of invocation list: {0}.", list.GetInvocationListLength()); Console.ReadKey(); }