C#委托实现的步骤是什么

2023-12-26 28阅读

请问C#中的委托是什么?如何使用?

在C#中,函数指针类型被称为委托(Delegate)。委托是一种引用类型,它可以持有对一个或多个方法的引用。通过委托,我们可以将方法作为参数传递给其他方法,或者将方法赋值给委托变量。

C#委托实现的步骤是什么(图片来源网络,侵删)

委托类型定义了方法的签名,它可以用于调用具有相同签名的方法。委托类型可以用于事件处理、回调函数等场景,它提供了一种灵活的方式来处理方法的引用和调用。C#中的委托类型可以通过委托关键字进行定义,并且可以使用+=和-=运算符来添加和移除方法。

委托的用法很多:一般是用于声明事件和回调的委托,还可以是用于代表方法标签的委托.

书本上的委托只是对委托的定义与具体怎样调用问题,没有涉及到委托的真正实用的地方。其实委托是与事件和回调

C#委托实现的步骤是什么(图片来源网络,侵删)

一起来使用的,你可以看一下C#异步调用,与多线程处理里等就可以看到委托的作用了。

下面是别人的理解我觉得还是比较好的:

1)有了委托你就可以把方法看作像常数一样,而委托就是该常数类型的变量.

C#委托实现的步骤是什么(图片来源网络,侵删)

从这个角度看来用于声明事件的委托就是声明这个事件触发以后所调用的方法的标签或者特征.只有符合该标签(参数个数和参数类型)的方法才可以做为该用于该事件的回调.

一个事件触发了,你可能需要用多个方法处理该事件或者说该事件调用了多个方法(每个事件的实例都有一个需要调用的方法列表,当事件触发它会逐个调用列表中的每个方法)

2)通过使用委托你可以实现对方法变化的封装.

打个比方:如果你骑自行车,你需要有骑自行车的方法DriveBike().如果你骑摩托车你需要有骑摩托车的方法.现在你有一个方法DriveMoto.现在你需要定义一个方法,实现你骑(自行车或者摩托车)到某地DriveTo(地点,骑的方式)

骑的方式这里其实就是委托.在使用的时候,如果你是骑自行车你就用DriveBike实例化委托的实例带入DriveTo方法,如果你骑摩托车你就用DriveMoto实例化"骑的方式"这个委托带入DriveTo方法.

委托的用法很多:一般是用于声明事件和回调的委托,还可以是用于代表方法标签的委托.

书本上的委托只是对委托的定义与具体怎样调用问题,没有涉及到委托的真正实用的地方。其实委托是与事件和回调

一起来使用的,你可以看一下C#异步调用,与多线程处理里等就可以看到委托的作用了。

下面是别人的理解我觉得还是比较好的:

1)有了委托你就可以把方法看作像常数一样,而委托就是该常数类型的变量.

从这个角度看来用于声明事件的委托就是声明这个事件触发以后所调用的方法的标签或者特征.只有符合该标签(参数个数和参数类型)的方法才可以做为该用于该事件的回调.

一个事件触发了,你可能需要用多个方法处理该事件或者说该事件调用了多个方法(每个事件的实例都有一个需要调用的方法列表,当事件触发它会逐个调用列表中的每个方法)

2)通过使用委托你可以实现对方法变化的封装.

打个比方:如果你骑自行车,你需要有骑自行车的方法DriveBike().如果你骑摩托车你需要有骑摩托车的方法.现在你有一个方法DriveMoto.现在你需要定义一个方法,实现你骑(自行车或者摩托车)到某地DriveTo(地点,骑的方式)

骑的方式这里其实就是委托.在使用的时候,如果你是骑自行车你就用DriveBike实例化委托的实例带入DriveTo方法,如果你骑摩托车你就用DriveMoto实例化"骑的方式"这个委托带入DriveTo方法.

到此,以上就是小编对于c#委托教程的问题就介绍到这了,希望这1点解答对大家有用。

文章版权声明:除非注明,否则均为游侠云资讯原创文章,转载或复制请以超链接形式并注明出处。

目录[+]