Пример #1
0
        private static void CombineDelegates()
        {
            CalculatorDelegate calc =
                (CalculatorDelegate)Delegate.Combine(new CalculatorDelegate[] {
                Add, Subtract, Multiply, Divide
            });

            Delegate[] list = calc.GetInvocationList();
            Console.WriteLine($"Total delegates in calc: {list.Length}");

            calc(6, 3);
        }
Пример #2
0
        private static void RemoveDelegate()
        {
            CalculatorDelegate divDel = Divide;
            CalculatorDelegate calc   =
                (CalculatorDelegate)Delegate.Combine(new CalculatorDelegate[] {
                Add, Subtract, Multiply, Divide
            });

            Delegate[] list = calc.GetInvocationList();
            Console.WriteLine($"Total delegates in calc: {list.Length}");

            calc(6, 3);

            CalculatorDelegate newCalc =
                (CalculatorDelegate)Delegate.Remove(calc, divDel);


            Console.WriteLine($"Total delegates in calc: {newCalc.GetInvocationList().Length}");

            newCalc(6, 4);
        }