初学C#有感(一)

一路学习下来,从变量到结构,都挺顺利,但是在碰到委托、事件的时候懵了一下下,我把委托与事件那一章重复看了两遍,敲了其他的示例,大概懂了许多。

 

委托的话是单一对应的,因为在创建委托对象时声明了委托类型,委托限定了函数返回值与函数参数类型,代码如下:

 1 namespace ConsoleApp
 2 {
 3     //声明一个委托
 4     public delegate void MyDelegate(string name);
 5     //定义Test类
 6     class Test
 7     {
 8         //第一个方法
 9         public void Method1(string name)
10         {
11             Console.WriteLine($"{name}的第一个方法");
12         }
13         //第二个方法
14         public void Method2(string name)
15         {
16             Console.WriteLine($"{name}的第二个方法");
17         }
18         //入口方法
19         public static void Main()
20         {
21             //实例化Test类
22             Test test = new Test();
23             //创建委托对象并包含方法
24             MyDelegate myDelegate = new MyDelegate(test.Method1);
25             myDelegate += new MyDelegate(test.Method2);
26             //调用委托对象包含的方法
27             myDelegate("李二狗");
28         }
29     }
30 }

输出结果为:

初学C#有感(一)

 

 

然而事件确可以对应不确定的对象,因为事件借助委托,事件一般没有返回值,代码:

 

上一篇:numpy数据去重


下一篇:C#委托