예제 #1
0
    public static void Main()
    {
        MyEvent evt = new MyEvent();
        W       wOb = new W();
        X       xOb = new X();
        Y       yOb = new Y();
        Z       zOb = new Z();

        // Добавляем обработчики в список.
        Console.WriteLine("Добавление обработчиков событий.");
        evt.SomeEvent += new MyEventHandler(wOb.Whandler);
        evt.SomeEvent += new MyEventHandler(xOb.Xhandler);
        evt.SomeEvent += new MyEventHandler(yOb.Yhandler);
        // Этот обработчик сохранить нельзя — список полон.
        evt.SomeEvent += new MyEventHandler(zOb.Zhandler);
        Console.WriteLine();
        // Генерируем события.
        evt.OnSomeEvent();
        Console.WriteLine();

        // Удаляем обработчик из списка.
        Console.WriteLine("Удаляем обработчик xOb.Xhandler.");
        evt.SomeEvent -= new MyEventHandler(xOb.Xhandler);
        evt.OnSomeEvent();
        Console.WriteLine();
        // Пытаемся удалить его еще раз.
        Console.WriteLine("Попытка повторно удалить обработчик xOb.Xhandler.");
        evt.SomeEvent -= new MyEventHandler(xOb.Xhandler);
        evt.OnSomeEvent();
        Console.WriteLine();
        // Теперь добавляем обработчик Zhandler.
        Console.WriteLine("Добавляем обработчик zOb.Zhandler.");
        evt.SomeEvent += new MyEventHandler(zOb.Zhandler);
        evt.OnSomeEvent();
    }
    static void Main()
    {
        MyEvent evt = new MyEvent();
        W       wOb = new W();
        X       xOb = new X();
        Y       yOb = new Y();
        Z       zOb = new Z();

        // Add handlers to the event list.
        Console.WriteLine("Adding events.");
        evt.SomeEvent += wOb.Whandler;
        evt.SomeEvent += xOb.Xhandler;
        evt.SomeEvent += yOb.Yhandler;

        // Can't store this one -- full.
        evt.SomeEvent += zOb.Zhandler;
        Console.WriteLine();
        // Raise the events.
        evt.OnSomeEvent();
        Console.WriteLine();
        // Remove a handler.
        Console.WriteLine("Remove xOb.Xhandler.");
        evt.SomeEvent -= xOb.Xhandler;
        evt.OnSomeEvent();
        Console.WriteLine();
        // Try to remove it again.
        Console.WriteLine("Try to remove xOb.Xhandler again.");
        evt.SomeEvent -= xOb.Xhandler;
        evt.OnSomeEvent();
        Console.WriteLine();
        // Now, add Zhandler.
        Console.WriteLine("Add zOb.Zhandler.");
        evt.SomeEvent += zOb.Zhandler;
        evt.OnSomeEvent();
    }
    static void Main()
    {
        MyEvent evt = new MyEvent();

        // Use a lambda expression as an event handler.
        evt.SomeEvent += (n) =>
                         Console.WriteLine("Event received. Value is " + n);
        // Raise the event twice.
        evt.OnSomeEvent(1);
        evt.OnSomeEvent(2);
    }
예제 #4
0
    public static void Main()
    {
        MyEvent evt = new MyEvent();

        // Add handler() to the event list.
        evt.SomeEvent += new MyEventHandler(handler);

        // Fire the event.
        evt.OnSomeEvent();
        evt.SomeEvent -= handler;
        evt.OnSomeEvent();
        Console.ReadKey();
    }
    static void Main()
    {
        X       ob1 = new X();
        Y       ob2 = new Y();
        MyEvent evt = new MyEvent();

        // Add Handler() to the event list.
        evt.SomeEvent += ob1.Handler;
        evt.SomeEvent += ob2.Handler;
        // Raise the event.
        evt.OnSomeEvent();
        evt.OnSomeEvent();
    }
    static void Main(string[] args)
    {
        MyEvent evt = new MyEvent();

        evt.SomeEvent += EventDemo.Handler;
        evt.OnSomeEvent();
    }
예제 #7
0
파일: Program.cs 프로젝트: erolca/Delegate
    public static void Main()
    {
        MyEvent    evt = new MyEvent();
        MouseEvent xOb = new MouseEvent();
        KeyEvent   yOb = new KeyEvent();

        evt.SomeEvent += handler;
        evt.SomeEvent += xOb.MouseEventHandler;
        evt.SomeEvent += yOb.KeyEventHandler;

        evt.OnSomeEvent();
        Console.WriteLine();

        evt.SomeEvent -= xOb.MouseEventHandler;
        evt.OnSomeEvent();
    }
예제 #8
0
            static void Main()
            {
                MyEvent evt = new MyEvent();

                evt.SomeEvent += Handler;
                evt.OnSomeEvent();
            }
    static void Main()
    {
        MyEvent evt = new MyEvent();

        evt.SomeEvent += X.Xhandler;
        // Raise the event.
        evt.OnSomeEvent();
    }
예제 #10
0
파일: Program.cs 프로젝트: erolca/Delegate
    public static void Main()
    {
        MyEvent evt = new MyEvent();

        evt.SomeEvent += KeyEvent.KeyEventHandler;

        evt.OnSomeEvent();
    }
예제 #11
0
    static void Main()
    {
        MyEvent evt = new MyEvent();
        X       xOb = new X();
        Y       yOb = new Y();

        // Add handlers to the event list.
        evt.SomeEvent += Handler;
        evt.SomeEvent += xOb.Xhandler;
        evt.SomeEvent += yOb.Yhandler;
        // Raise the event.
        evt.OnSomeEvent();
        Console.WriteLine();
        // Remove a handler.
        evt.SomeEvent -= xOb.Xhandler;
        evt.OnSomeEvent();
    }
예제 #12
0
    public static void Main()
    {
        MyEvent evt = new MyEvent();

        evt.SomeEvent += new MyEventHandler(X.Xhandler);
        // Генерируем событие.
        evt.OnSomeEvent();
    }
    public static void Main()
    {
        MyEvent evt = new MyEvent();

        // Добавляем метод handler() в список события.
        evt.SomeEvent += new MyEventHandler(handler);
        // Генерируем событие.
        evt.OnSomeEvent();
    }
    static void Main()
    {
        MyEvent evt = new MyEvent();

        // Add Handler() to the event list.
        evt.SomeEvent += Handler;
        // Raise the event.
        evt.OnSomeEvent();
    }
예제 #15
0
    public static void Main()
    {
        MyEvent evt = new MyEvent();
        X       xOb = new X();
        Y       yOb = new Y();

        // Добавляем обработчики в список события.
        evt.SomeEvent += new MyEventHandler(handler);
        evt.SomeEvent += new MyEventHandler(xOb.Xhandler);
        evt.SomeEvent += new MyEventHandler(yOb.Yhandler);

        // Генерируем событие.
        evt.OnSomeEvent();
        Console.WriteLine();

        // Удаляем один обработчик.
        evt.SomeEvent -= new MyEventHandler(xOb.Xhandler);
        evt.OnSomeEvent();
    }
예제 #16
0
    public Chapter8()
    {
        MyEvent evt = new MyEvent();

        // Add Handler() to the event list.
        evt.SomeEvent += Handler;

        // Raise the event.
        evt.OnSomeEvent();
    }
예제 #17
0
    public static void Main()
    {
        MyEvent  evt = new MyEvent();
        KeyEvent o1  = new KeyEvent(1);
        KeyEvent o2  = new KeyEvent(2);
        KeyEvent o3  = new KeyEvent(3);

        evt.SomeEvent += o1.KeyEventHandler;
        evt.SomeEvent += o2.KeyEventHandler;
        evt.SomeEvent += o3.KeyEventHandler;

        evt.OnSomeEvent();
    }
    public static void Main()
    {
        MyEvent evt = new MyEvent();
        X       o1  = new X(1);
        X       o2  = new X(2);
        X       o3  = new X(3);

        evt.SomeEvent += new MyEventHandler(o1.Xhandler);
        evt.SomeEvent += new MyEventHandler(o2.Xhandler);
        evt.SomeEvent += new MyEventHandler(o3.Xhandler);
        // Генерируем событие.
        evt.OnSomeEvent();
    }
예제 #19
0
    static void Main()
    {
        MyEvent evt = new MyEvent();
        X       o1  = new X(1);
        X       o2  = new X(2);
        X       o3  = new X(3);

        evt.SomeEvent += o1.Xhandler;
        evt.SomeEvent += o2.Xhandler;
        evt.SomeEvent += o3.Xhandler;
        // Raise the event.
        evt.OnSomeEvent();
    }
예제 #20
0
        static void Main(string[] args)
        {
            Console.Write("Введите старое название автомобиля: ");
            string old = Console.ReadLine();
            MyEvent myEvent = new MyEvent();
            myEvent.SomeEvent += new MyEventHandler(EventDemo.handler);

            string nev = myEvent.OnSomeEvent();
            if (nev != null)
            {
                old = nev;
                Console.WriteLine("Название изменено");
            }

            Console.ReadKey();
        }
예제 #21
0
        public static void tryEvents()
        {
            MyEvent   me = new MyEvent();
            EventDemo ed = new EventDemo();

            me.SomeEvent += (senders, e) =>
            {
                Console.WriteLine("received: " + e.n);
            };

            me.SomeEvent += ed.Handler;

            me.SomeEvent += delegate(object senders, MyEventArg e)
            {
                Console.WriteLine("received: " + (e.n + 2));
            };
            //this creates and method instead of pointing to a existing method.
            me.OnSomeEvent(1);
        }
예제 #22
0
        static void Main(string[] args)
        {
            Console.Title = "Создание массива символов";
            ConsoleKeyInfo cki;

            string Str = "";

            Console.WriteLine(" Ввод символов в массив. " + "(для прекращения ввода нажмите клавишу<F1>)\n");

            do
            {
                Console.Write(" Введите символ. ");
                cki = Console.ReadKey(true);
                MyEvent myEvent = new MyEvent();
                myEvent.SomeEvent += new MyEventHandler(EventDemo.handler);
                Str += cki.KeyChar;
                myEvent.OnSomeEvent(cki);
            } while (cki.Key != ConsoleKey.F1);

            Console.WriteLine();
            Console.WriteLine(" Массив символов: " + Str);
            Console.ReadKey();
        }