C#委托的使用,事件和委托,一次就看明白
2020-12-27 06:28
标签:执行 ati 抽象 += mini 委托和事件 this oid static 猫叫触发一系列的动作或者说触发一系列事件,猫叫导致狗叫,小孩哭,Mom跑。 C#委托的使用,事件和委托,一次就看明白 标签:执行 ati 抽象 += mini 委托和事件 this oid static 原文地址:https://www.cnblogs.com/netlws/p/13352578.html需求背景
代码结构申明
1 ///
1 ///
1 ///
///
1 ///
1 static void Main(string[] args)
2 {
3 {
4 new Cat().Miao();
5 }
6 {
7 //去除了猫类对其它类的依赖,把依赖通过抽象转移到外部,事件的触发逻辑交给调用者,与猫
8 //无关,猫作为事件发布者,这是一种观察者模式的运用
9 Cat cat = new Cat();
10 cat.AddObserver(new Dog());
11 cat.AddObserver(new Baby());
12 cat.AddObserver(new Mom());
13 cat.MiaoObserver();
14 Console.WriteLine("**********");
15 }
16 {
17 //使用委托和事件的方式解决该问题,去除了Cat的依赖,Cat稳定了,还可以有多个Cat.CatMiaoAction的实例
18 Cat cat = new Cat();
19 cat.CatMiaoAction += new Dog().Wang;
20 cat.CatMiaoAction += new Baby().Cry;
21 cat.CatMiaoAction += new Mom().Run;
22 cat.MiaoDelegate();
23 Console.WriteLine("**********");
24 }
25 {
26 //使用委托和事件的方式解决该问题,去除了Cat的依赖,Cat稳定了,还可以有多个Cat.CatMiaoActionEvent的实例
27 Cat cat = new Cat();
28 cat.CatMiaoActionEvent += new Dog().Wang;
29 cat.CatMiaoActionEvent += new Baby().Cry;
30 cat.CatMiaoActionEvent += new Mom().Run;
31 cat.MiaoDelegateHandler();
32 Console.WriteLine("**********");
33 }
34 Console.ReadLine();
35 }
文章标题:C#委托的使用,事件和委托,一次就看明白
文章链接:http://soscw.com/index.php/essay/38531.html