Beispiel #1
0
        static void Main(string[] args)
        {
            WriteLine("\tБлочное лямбда выражение");

            Dispacher dispacher = new Dispacher();

            // явная типизация
            dispacher.eventDouble += (double a, double b) =>
            {
                if (b != 0)
                {
                    return(a / b);
                }
                throw new DivideByZeroException();
            };

            double n1 = 5.7, n2 = 3.2;

            WriteLine($"{n1} / {n2} = {dispacher.OnEventDouble(n1, n2)}"); // вызов

            WriteLine("\tОдиночное лямбда выражение");

            int number1 = 5, number2 = 6;

            dispacher.eventInt += n => number1 + n;                                // неявная типизация

            WriteLine($"{number1} + {number2} = {dispacher.OnEventInt(number2)}"); // вызов

            WriteLine("\tПрименение с делегатом");

            AnonimDelegateVoid voidDel = new AnonimDelegateVoid(() => { WriteLine("Ok!"); });

            voidDel += () => { WriteLine("Bye!"); };
            voidDel(); // вызов
        }