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(); }
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(); }