委托与事件
这篇博客是专门为刚接触c#不久的新手写的,内容较为简单,随便看看就好。
在c#当中,委托无疑是常用且重要的,有些人可能学习时并不是特别认真,导致对委托了解的并不是特别透彻,而这边文章我便会带你们再次复习一遍!
- 委托的作用
总的来说,委托可以使一个方法被当成参数来进行传递并使用,可以理解为它就是指向一个内存地址,而这个地址就是你所传递的方法参数的内存地址,如果你并没有传入方法参数,那么它就是一个null值。 - 委托的声明
public delegate void Delegate_One();
如上所示,我们声明了一个无参数且无返回值的委托,void代表此委托没有返回值,()里没有参数就代表委托无参数。
public delegate int Delegate_Two();
这里我们声明了一个需要int返回值的委托。
public delegate void Delegate_Three(int num);
这次右声明了一个无返回值但需要一个int参数的委托。
public delegate int Delegate_Four(int num);
最后则是一个需要int返回值并且带有一个int参数的委托。
由此可见委托的声明非常简单,相较与方法它只是多了一个delegate关键字,同时它并没有方法体的实现。
- 委托的实例
public Delegate_One delegate_One;
public Delegate_Two delegate_Two;
public Delegate_Three delegate_Three;
public Delegate_Four delegate_Four;
在上述代码里,我们将之前声明的四个不同的委托全部实例化了出来,可以发现委托的实例也非常简单,与对象的实例相同,都是 “访问修饰符”+“委托对象”+“实例名称”。
- 委托的调用
既然委托是可以使方法当成参数传递,所以我们首先写一个方法
public void DelegateTest_One(Delegate_One delegate_One)
{
if (delegate_One != null)
{
delegate_One