Ejemplo n.º 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(); // вызов
        }
Ejemplo n.º 2
0
        private static void Task9()
        {
            Console.WriteLine("\tThe use of events");
            var dispacher = new Dispacher();

            dispacher.eventDouble += (a, b) =>
            {
                if (b != 0)
                {
                    return(a / b);
                }
                throw new DivideByZeroException();
            };
            double n1 = 5.7, n2 = 3.2;

            Console.WriteLine($"{n1} / {n2} = { dispacher.OnEventDouble(n1, n2)}");
            Console.WriteLine(" Using a local variable");
            int number = 5;

            dispacher.eventVoid += n => Console.WriteLine($"{number} + {n} = { number + n}");
            dispacher.OnEventVoid();
            dispacher.OnEventVoid(6);
            Console.WriteLine("\tThe use of a delegate");
            AnonimDelegateVoid voidDel = () => Console.WriteLine("Ok!");

            voidDel += () => Console.WriteLine("Bye!");
            voidDel();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            WriteLine("\tПрименение с событиями");

            Dispacher dispacher = new Dispacher();

            // анонимный метод
            dispacher.eventDouble += delegate(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("   Использование локальной переменной");

            int number = 5;

            dispacher.eventVoid += delegate(int n)  // анонимный метод
            {
                WriteLine($"{number} + {n} = { number + n}");
            };

            dispacher.OnEventVoid(); // вызов
            dispacher.OnEventVoid(6);

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

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

            voidDel += delegate { WriteLine("Bye!"); }; // анонимный метод

            voidDel();                                  // вызов
        }
Ejemplo n.º 4
0
        private static void Task8()
        {
            Console.WriteLine("\tThe use of events");
            Dispacher dispacher = new Dispacher();

            // анонимный метод
            dispacher.eventDouble +=
                delegate(double a, double b)
            {
                if (b != 0)
                {
                    return(a / b);
                }
                throw new DivideByZeroException();
            };
            double n1 = 5.7, n2 = 3.2;

            Console.WriteLine($"{n1} / {n2} = { dispacher.OnEventDouble(n1, n2)}"); // вызов
            Console.WriteLine(" Using a local variable");
            int number = 5;

            dispacher.eventVoid += delegate(int n) // анонимный
                                                   // метод
            {
                Console.WriteLine($"{number} + {n} = { number + n}");
            };
            dispacher.OnEventVoid();
            dispacher.OnEventVoid(6);
            Console.WriteLine("\tThe use of a delegate");
            AnonimDelegateVoid voidDel = new AnonimDelegateVoid(delegate
            {
                Console.WriteLine("Ok!");
            });

            voidDel += delegate
            {
                Console.WriteLine("Bye!");
            };
            voidDel();
        }