当前位置: 首页 > 编程笔记 >

C#使用委托的步骤浅析

韦熙云
2023-03-14
本文向大家介绍C#使用委托的步骤浅析,包括了C#使用委托的步骤浅析的使用技巧和注意事项,需要的朋友参考一下

本文浅析了C#使用委托的步骤。分享给大家供大家参考。具体分析如下:

委托可以理解为C或C++里面的函数指针,调用委托其实是调用被委托的方法。

简单的使用委托的步骤如下:

1.定义委托

// 定义委托使用关键字 delegate

private delegate void SetProgressBarValueDelegate(int value);

2.声明委托

private SetProgressBarValueDelegate setProgressBarValue;

3.实例化委托

setProgressBarValue = new SetProgressBarValueDelegate(SetProgressBarValue1);

SetProgressBarValue1是被委托的方法名称,参数类型要和委托的类型保持一致。其原型如下:

// 设置进度条1值

private void SetProgressBarValue1(int value)

{

    pgProgressBar1.Value = value;

}

4.使用委托:

SetProgressBarValueMethod(setProgressBarValue);

// 设置进度条值 private void SetProgressBarValueMethod(SetProgressBarValueDelegate setProgressBarValueDelegate) {     for (int i = 1; i <= 100; i++)     {  Application.DoEvents();  Thread.Sleep(50);  setProgressBarValueDelegate(i);       } }

/* 此命令可告诉系统继续处理用户界面的其它事件,避免假死  * 等同于 Visual Basic 6.0 的 DoEvents()  * 等同于 易语言 的 处理事件() */  Application.DoEvents(); /* 此命令用于线程暂停(参数:毫秒)  * 此处用在主线程中,会导致假死,加暂停只为了看得更清楚 */

Thread.Sleep(50);

希望本文所述对大家的C#程序设计有所帮助。

 类似资料:
  • 本文向大家介绍C#中的委托使用,包括了C#中的委托使用的使用技巧和注意事项,需要的朋友参考一下 从今天开始写关于C#的系列文章,本篇文章主要讲解C#中的委托使用。 委托其实就是一种数据类型,和int,string是一样的概念。 如果要把一个字符串赋值给一个变量,用string声明一个变量即可。如果要把一个方法赋值给一个变量,那么用什么关键字呢?当然就是用委托了,所以用委托声明的变量就可以接受一个方

  • 主要内容:声明委托,实例化委托,多播委托(合并委托)C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针,是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。委托特别适用于实现事件和回调方法,所有的委托都派生自 System.Delegate 类。在实例化委托时,可以将委托的实例与具有相同返回值类型的方法相关联,这样就可以通过委托来调用方法。另外,使用委托还可以将方法作为参数传递给其他方法, 委托具有以下特点: 委托类似

  • C# 中的委托类似于 C 或 C++ 中指向函数的指针。委托表示引用某个方法的引用类型变量,运行时可以更改引用对象。 特别地,委托可以用于处理事件或回调函数。并且,所有的委托类都是从 System.Delegate 类继承而来。 声明委托 声明委托时,需要定义能够被委托所引用的方法,任意委托可以引用与该委托拥有相同签名的方法。如: public delegate int MyDelegate (s

  • 本文向大家介绍C#中委托(Delegates)的使用方法详解,包括了C#中委托(Delegates)的使用方法详解的使用技巧和注意事项,需要的朋友参考一下 1. 委托是什么? 其实,我一直思考如何讲解委托,才能把委托说得更透彻。说实话,每个人都委托都有不同的见解,因为看问题的角度不同。个人认为,可以从以下2点来理解:  (1) 从数据结构来讲,委托是和类一样是一种用户自定义类型。  (2) 从设计

  • ILRuntime中使用委托 如果只在热更新的DLL项目中使用的委托,是不需要任何额外操作的,就跟在通常的C#里那样使用即可 如果你需要将委托实例传给ILRuntime外部使用,那则根据情况,你需要额外添加适配器或者转换器。 需要注意的是,一些编译器功能也会生成将委托传出给外部使用的代码,例如: Linq当中where xxxx == xxx,会需要将xxx == xxx这个作为lambda表达式

  • 问题内容: 有人可以解释何时以及何时不使用Swift中的委托指针进行“弱”分配,为什么? 我的理解是,如果您使用的协议未定义为类,则无法,也不想将您的委托指针分配给弱。 但是,当您的协议定义为类类型协议时,您是否要将委托设置为弱指针? 我对么?在Apple的快速指南中,类协议示例没有使用弱分配,但是在我的测试中,如果没有弱引用我的委托人,我会看到强参考周期。 问题答案: 通常,使类协议(如用关键字