委託能夠實例化啊。
首先你的確能夠把委託當作一個類,所以委託能夠實例化。
通常來講委託的整個流程是
一、聲明對應函數的委託
二、將委託實例化
三、而後使用這個委託實例
可是在如今的.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 }