Beispiel #1
0
        static void Main(string[] args)
        {
            Source              s  = new Source();
            Observer1           o1 = new Observer1();
            Observer2           o2 = new Observer2();
            MyDelegate <object> d1 = new MyDelegate <object>(o1.Do);

            s.Run += d1;
            s.Run += o2.Do;
            s.Start();
            s.Run -= d1;
            s.Start();
        }
Beispiel #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            Source    s  = new Source();
            Observer1 o1 = new Observer1();
            Observer2 o2 = new Observer2();

            Source.MyDelegate d1 = new Source.MyDelegate(o1.Do);
            s.Add(d1);
            s.Add(o2.Do);
            s.Run();
            s.Remove(o1.Do);
            s.Run();
        }
        static void Main(string[] args)
        {
            Source    s  = new Source();
            Observer1 o1 = new Observer1();
            Observer2 o2 = new Observer2();
            //а также добавил обобщённый делегат здесь
            Action <object> d1 = o1.Do;

            s.Run += d1;
            s.Run += o2.Do;
            s.Start();
            s.Run -= d1;
            s.Start();
        }