C#之委托 偏执的太偏执、 2022-08-02 12:41 138阅读 0赞 \------------------------- 关于委托的一些事儿 ------------------------------------- 委托 delegate是只有一个函数的特殊的类,委托对象的引用相当函数指针。 委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。 对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。 委托的一个有趣且有用的属性是,它不知道或不关心自己引用的对象的类。任何对象都可以; 只是方法的参数类型和返回类型必须与委托的参数类型和返回类型相匹配。 使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给某个方法,而不必在编译时知道将调用哪个方法。 与 C 或 C++ 中的函数指针不同,委托是面向对象、类型安全的。 \----------------------------------------------------------------------------- 下面说说委托的使用步骤: ![Center][] 看个示例啦,先看看结果: ![Center 1][] 当点击启动按钮,俩进度条将自动充满。 源码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Threading; namespace _001_C_委托机制 { public partial class Form1 : Form { /// ---定义委托 delegate void SetProgressBarValueDelegate(int iValue); /// ---声明委托 SetProgressBarValueDelegate setProgressBarValue; public Form1() { InitializeComponent(); } ///---启动按钮事件 private void button1_Click(object sender, EventArgs e) { setProgressBarValue = new SetProgressBarValueDelegate(SetprogressBarValue1); setProgressBarValueMethod(setProgressBarValue); setProgressBarValue = new SetProgressBarValueDelegate(SetprogressBarValue2); setProgressBarValueMethod(setProgressBarValue); } ///---创建调用委托的方法 private void setProgressBarValueMethod(SetProgressBarValueDelegate setValue) { for (int i = 0; i <= 100; i++) { ///---将控制权交还给用户。 Application.DoEvents(); ///--线程睡眠 Thread.Sleep(20); ///--设置值 setValue(i); } } /// ---委托调用方法 private void SetprogressBarValue1(int iValue) { progressBar1.Value = iValue; } private void SetprogressBarValue2(int iValue) { progressBar2.Value = iValue; } } } 提示,我使用了Threading.Sleep(20); 这里要加上命名空间: using System.Threading; [Center]: /images/20220731/c17ad5486db64f8fb6671bded739ca9c.png [Center 1]: /images/20220731/155045481508457d9e717eee3d014fa9.png
相关 C#——委托 C\——委托 委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时,你可以将其实例与任何具有兼容签名和返回类型的方法相关联。 你可以通过委托 冷不防/ 2023年01月03日 04:22/ 0 赞/ 216 阅读
相关 C#之委托 1.委托 关键字 delegate 声明(通俗了解,结合面向生活的思想---委托就是委托他人,是一个具体的命令或者指派、选择) 定义方法: pu 阳光穿透心脏的1/2处/ 2022年09月24日 05:22/ 0 赞/ 142 阅读
相关 C#委托 委托: 委托定义了方法的类型,使得方法可以作为另一个方法的参数来进行传递,这样可以在程序中避免使用大量的判断语句,同时使程序具有更好的扩展性。 可以将多个方法绑定到同一个委 矫情吗;*/ 2022年09月17日 07:28/ 0 赞/ 176 阅读
相关 C#5.0之委托 一、自从C\3.0开始,可以使用一种新语法把实现代码赋予委托操作,那就是lambda表达式。 使用条件:只要有委托参数类型的地方,就可以使用lambda表达式。 好处:使用 淩亂°似流年/ 2022年08月18日 10:58/ 0 赞/ 106 阅读
相关 C#之委托 \------------------------- 关于委托的一些事儿 ------------------------------------- 委托 delegate是 偏执的太偏执、/ 2022年08月02日 12:41/ 0 赞/ 139 阅读
相关 c#委托 首先创建个控制台应用程序在Program下创建一个无参数无返回值的静态方法,可以输出一句话 static void Text() { Cons 迈不过友情╰/ 2022年04月16日 06:15/ 0 赞/ 240 阅读
相关 C# 委托 一、什么是委托? 初次理解这么抽象的概念确实有点挺难的,如果学过C语言,可能知道C语言里可以把一个方法当做参数来传递,委托大概类似也是这样一个原理。 想象一下,在一个 ゞ 浴缸里的玫瑰/ 2022年04月08日 12:15/ 0 赞/ 255 阅读
相关 C# 委托 什么是委托? 委托和事件这两个概念是完全配合的。委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成。委托是一个类,当你对它实例化时,要提供一个引 野性酷女/ 2022年02月16日 13:51/ 0 赞/ 256 阅读
相关 C# 委托 委托 作用:将多个参数相同的方法,进行委托统一调用,将参数和调用方法传递给委托,由委托调用。 好处:可以将多个方法内相同的部分提取出来,根据参数和方法参数,调用需要的 ゝ一世哀愁。/ 2021年10月14日 02:00/ 0 赞/ 359 阅读
相关 C# 委托 什么是委托? 委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递。委托是一种特殊类型的对象,其特殊之处在于委托中包含的是一个或多个方法的地址,而不是数据。委 谁践踏了优雅/ 2021年06月24日 16:10/ 0 赞/ 474 阅读
还没有评论,来说两句吧...