C#委托

2021-02-06 22:14

阅读:385

标签:bsp   foo   strong   stat   void   line   ret   另一个   console   

什么是委托?

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

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

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

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

定义委托:

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

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

/// 
/// 委托老王帮我办点事
/// 
/// 
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#委托

标签:bsp   foo   strong   stat   void   line   ret   另一个   console   

原文地址:https://www.cnblogs.com/gme5/p/11407600.html


评论


亲,登录后才可以留言!