C#基础概念之委托

委托C#中非常重要的一个概念,并在C#中得到了丰富的应用,如事件,线程等。那什么是委托呢?具体来说,委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。

委托具有以下特点:

委托类似于 C++ 函数指针,但它是类型安全的。

委托允许将方法作为参数进行传递。

委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。

C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。

在C#中使用委托分为三步:

1.定义委托:

//声明委托  



public delegate void MyDel(); 

2.实例化委托:

TestDel t = new TestDel();   



Console.WriteLine("-----以下是简单使用委托演示--------");  




//t.MyMethod();  




///实例化委托,用一个方法来进行实例化  




///该方法签名要与委托签名一致  




MyDel del = new MyDel(t.MyMethod);  

3.调用委托:

///调用委托  


del(); 

好了,其实委托的变化很复杂,但基本都会符合这么三个步骤,说过了,这些,再来看一下完整的代码: