当前位置: 首页 > article >正文

C#(委托)2

一、委托的声明

delegate返回值类型 委托名称(参数列表);

例如,如果你想创建一个委托来引用一个返回int类型并且接受两个int参数的方法,可以这样声明:

delegate intMathOperation(int num1,int num2);

这里MathOperation就是委托类型的名称,它可以引用任何符合这个签名(返回int类型,有两个int参数)的方法。

二、委托的实例化和使用

实例化委托

一旦你声明了委托类型,就可以创建委托的实例。委托实例必须引用一个与委托签名匹配的方法。

例如,假设有以下方法:

int Add(int a, int b) { return a + b; }

你可以这样实例化委托:

MathOperation operation = new MathOperation(Add);

这里operation是MathOperation委托类型的一个实例,它引用了Add方法。

使用委托调用方法

一旦委托实例化完成,就可以通过委托实例来调用它所引用的方法。

例如,对于上面的operation委托实例,可以这样调用:

int result = operation(3, 5);

这实际上会调用Add方法,传入参数35,并将Add方法的返回值赋给result

三、委托在事件处理中的应用(简单示例)

在 C# 的图形用户界面(GUI)编程中,事件处理是委托的一个重要应用场景。

例如,在Windows Forms应用程序中,当用户点击一个按钮时,会触发一个Click事件。这个Click事件实际上是通过委托来实现的。

假设你有一个简单的Windows Forms应用程序,有一个按钮button1,你可以这样为按钮的Click事件添加一个处理方法:

private void button1_Click(object sender, EventArgs e)

{

  MessageBox.Show("Button Clicked!");

}

然后在窗体的构造函数或者Load事件中,将button1_Click方法与按钮的Click事件关联起来:

this.button1.Click += new EventHandler(button1_Click);

这里EventHandler是一个预定义的委托类型,用于处理事件。当用户点击按钮时,就会调用button1_Click方法,弹出一个消息框显示 “Button Clicked!”。

C#练习23


http://www.kler.cn/a/449975.html

相关文章:

  • 实践KDTS-WEB从mysql迁移到kingbasev9
  • 中国农业科学院深圳农业基因组研究所合成生物学研究中心-随笔06
  • ROS1入门教程6:复杂行为处理
  • 工控触摸屏用winForms来构建框架,效果还是很不错的
  • 解析mysqlbinlog
  • Linux快速入门-Linux文件系统管理
  • 放弃机器学习框架,如何用Python做物体检测?
  • 监控MySQL数据表变化:Binlog的重要性及实践
  • 自建MD5解密平台-续
  • mysql中局部变量_MySQL中变量的总结
  • 【YashanDB知识库】Oracle pipelined函数在YashanDB中的改写
  • 蓝桥杯练习生第四天
  • Blazor 直接读取并显示HTML 文件内容
  • VSCode如何修改默认扩展路径和用户文件夹目录到D盘
  • 关于mac—address
  • linux安装宝塔面板及git
  • 基于Spring Boot的个性化推荐外卖点餐系统
  • HarmonyOS(72)事件拦截处理详解
  • Certifying LLM Safety against Adversarial Prompting
  • 网络管理 详细讲解
  • 网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持
  • BOE(京东方)“向新2025”年终媒体智享会落地成都 持续创新引领产业步入高价值增长新纪元
  • MongoDB教程001:基本常用命令(数据库操作和集合操作)
  • 跨模态知识迁移:基于预训练语言模型的时序数据建模
  • WebRTC服务质量(08)- 重传机制(05) RTX机制
  • js按首字母分组和排序