C#委托

Posted gme5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#委托相关的知识,希望对你有一定的参考价值。

什么是委托?

        emm... 先理解一下字面含义。。。

   委托(Delegate) 是一种存储函数引用的类型。

   委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。

        emm... 把方法作为参数代入另一个方法中。。。

定义委托:

  委托的定义类似于方法,但不带结构体,必须要有Delegate关键字。

       委托的声明指定了一个返回类型和一个参数列表。

/// <summary>
/// 委托老王帮我办点事
/// </summary>
/// <returns></returns>
public delegate void TakeSomethingDelegate();
// 帮我打包一份吃的
public static void TakeOutFood() => Console.WriteLine("老王帮我打包了一份吃的!");
// 帮我带一包烟
public static void TakeSmoke() => Console.WriteLine("老王帮我带了一包烟!");

  

var oldWangDelegate = new TakeSomethingDelegate(TakeOutFood);
oldWangDelegate += TakeSmoke;
oldWangDelegate();
// 老王帮我打包了一份吃的!
// 老王帮我带了一包烟!

使用委托的方法的返回类型和参数要与委托的定义时的返回类型与参数一致!

以上是关于C#委托的主要内容,如果未能解决你的问题,请参考以下文章

C# 学习笔记 6.委托

c#委托

C#委托与事件

C# 笔记——委托

浅谈C#委托和事件(转载)

C# 委托