委托为什么可以实例化

委托为什么可以和字符串一样实例化

2012-04-10 17:52 menotplayboy | 浏览 306 次
 
委托可以实例化啊。
首先你的确可以把委托看成一个类,因此委托可以实例化。
一般来说委托的整个流程是
1、声明对应函数的委托
2、将委托实例化
3、然后使用这个委托实例
但是在现在的.net版本中,微软帮我们省略了委托实例
这个步骤,让我们可以直接传递函数名称。

举个例子:
被委托的函数是
static void a()
{
……
}

委托为
delegate void b();

调用委托的函数为
public void c(delegate d)
{
d();
}

正常来说我们应该这样做
b del_a=new b(a);///实例化委托
c(del_a);///使用委托实例
但是微软允许我们这样做
c(a);
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace 委托
 7 {
 8     class Program
 9     {
10         public delegate void b();//委托
11         static void Main(string[] args)
12         {
13             b _del = new b(a);//实例化委托
14             c(_del);//使用委托实例
15             c(a);
16             Console.ReadKey();
17         }
18         //调用委托函数
19         public static void c(b d)
20         {
21             d();
22         }
23         //被委托d的函数
24         public static void a()
25         {
26             Console.WriteLine("123");
27         }
28     }
29 }
原文地址:https://www.cnblogs.com/Jacklovely/p/5623689.html