C# 委托的理解

作者: 小明yz | 来源:发表于2017-06-07 08:30 被阅读155次

1、什么是委托

委托可以理解为持有一个或多个方法的对象。如果执行委托的话,委托会

执行它所"持有"的方法。委托可以避免程序中大量使用if-else语句,使

程序拥有更好的扩展性。

2、委托的本质

委托和类一样,是一种用户自定义的类型,但类表示的是数据和方法的集合,

而委托则持有一个或多个方法,以及一系列预定义的操作。

3、如何声明委托

delegate void MyDel(int x)

说明:delegate 作为委托关键字,没有方法主体

4、什么是多播委托?

可以把多个方法赋值给同一个委托,或者将多个方法绑定到同一个委托,

就是多播委托。

5、一个简单的委托demo:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace SimpleDelegateDemo

{

class Program

{

static void Main(string[] args)

{

Class1 c2 = new Class1();

c2.MethodUseDelegate();     //调用方法

}

}

class Class1

{

public  delegate void SimpleDelegate();      //定义一个委托

SimpleDelegate delegateMethod = UseMethod;   //将方法传递给定义的另一个方法(委托)

public void MethodUseDelegate()

{

Class1 c1 = new Class1();

c1.delegateMethod();                    //将传递赋值的委托当做方法调用

//SimpleDelegate+=c1.UseMethod2 //绑定第二个方法

//SimpleDelegate-=c1.UseMethod2 //移除第二个方法

}

public static void UseMethod()

{

Console.WriteLine("一个简单委托列子");

Console.ReadKey();

}

public static void UseMethod2()

{

Console.WriteLine("一个简单委托列子2");

Console.ReadKey();

}

}

}

原文

相关文章

  • C# 委托的理解

    1、什么是委托 委托可以理解为持有一个或多个方法的对象。如果执行委托的话,委托会 执行它所"持有"的方法。委托可以...

  • C#委托的理解

    最近准备换下工作,想着接下来要进行面试,肯定少不了各种知识点的询问。趁这个机会把各个知识点都回顾下。 今天抽出时间...

  • C#日记——委托

    很多人说C#和JAVA很像,但也有很多地方不同,委托就是一个C#特有的东西委托可以理解为C语言里的函数指针,只要参...

  • 第一部分:C#语言基础----委托和事件

    第3章 C#中的委托和事件 3.1 理解委托 3.1.1 将方法作为方法的参数 委托是一个类,它定义了方法的类型,...

  • C# 委托(个人理解)

    委托是用户自定义的类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.储存的是一系列具有相同参数...

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • 教小明学一点点编程—C#篇(0)

    像小明这样使用C#的新同学,一定都会被C#的复杂的委托事件机制所困惑,那么我们不如解释一下什么是C#中委托。 委托...

  • C#委托 匿名函数 Lambda

    C# 中委托的发展#在 C# 1.0 中,通过使用在代码中其他位置定义的方法显式初始化委托来创建委托的实例。 C#...

  • 初探委托

    前言 虽然学习C#有段时间了,可一直没怎么接触委托,在学习多线程的时候,看到了很多委托的例子,有点不太理解,故查阅...

  • (转).NET面试题系列[7] - 委托与事件

    委托和事件 委托在C#中具有无比重要的地位。 C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括...

网友评论

    本文标题:C# 委托的理解

    本文链接:https://www.haomeiwen.com/subject/gjlofxtx.html