首页 > Windows开发 > 详细

C# 委托与事件

时间:2019-02-03 11:36:10      阅读:128      评论:0      收藏:0      [点我收藏+]

 

委托----函数指针

委托的声明    public delegate double MyDelegate ( double x );

委托的实例化   MyDelegated d2 = new MyDelegate( obj.myMethod );

委托的调用    委托变量名(参数列表 )    d2(8.9) 

 

 1 using System;
 2 
 3 public delegate void Action();
 4 
 5 class Program
 6 {
 7     public static void Main(string[] args)
 8     {
 9         //实例化对象
10         Mom mom = new Mom();
11         Dad dad = new Dad();
12         Child child = new Child();
13         
14         //将爸爸和孩子的Eat方法注册到妈妈的Eat事件
15         //订阅妈妈开饭的消息
16         mom.Eat += dad.Eat;
17         mom.Eat += child.Eat;
18         
19         //调用妈妈的Cook事件
20         mom.Cook();
21         
22         Console.Write("Press any key to continue . . . ");
23         Console.ReadKey(true);
24     }
25 }
26 
27 public class Mom
28 {
29     //定义Eat事件,用于发布吃饭消息
30     public event Action Eat;
31     
32     public void Cook()
33     {
34         Console.WriteLine("妈妈 : 饭好了");
35         //饭好了,发布吃饭消息!!!
36         Eat();
37         //Eat?.Invoke();
38         //(Eat).Invoke();
39     }
40 }
41 
42 public class Dad
43 {
44     public void Eat()
45     {
46         //爸爸去吃饭
47         Console.WriteLine("爸爸 : 吃饭了。");
48     }
49 }
50 
51 public class Child
52 {
53     public void Eat()
54     {
55         //熊孩子LOL呢,打完再吃
56         Console.WriteLine("孩子 : 打完这局再吃。");
57     }
58 }

 

C# 委托与事件

原文:https://www.cnblogs.com/GoldenEllipsis/p/10349878.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!