委托三步骤
第一步:定义委托
//第一步:1 声明委托(定义委托)
//对于声明委托的解释如下:
//解释a:函数指针
//解释b:委托就是定义函数的形状(形态)
// 即:返回值类型,参数数量,参数类型public delegate string delegatCeshi(int x,int y);
第二步:实例化
//第二步:2 实例化委托delegatCeshi delCeshi = new delegatCeshi(add);
第三步:执行委托
//第三步:3 使用委托
this.Text = delCeshi(10,5).ToString();
参考链接
参考链接1
C#基础教程 delegate 帮你理解委托,知道委托的好处, 不懂委托一定要看下!_哔哩哔哩_bilibili
参考链接2
C# 的委托与事件大致是怎么一回事_哔哩哔哩_bilibili
参考链接3
C#基础教程 简单好用泛型委托Action与Func,7分钟学会,不容错过!_哔哩哔哩_bilibili
测试实例
实例思路
实力执行效果
调用add方法 15
调用jian方法 5
调用 除法 方法 2
调用add方法 103
调用jian方法 97
调用 除法 方法 33
调用add方法 8
调用jian方法 2
示例代码
对应的详细代码如下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace WindowsFormsApp1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}//第一步:1 声明委托(定义委托)//对于声明委托的解释如下://解释a:函数指针//解释b:委托就是定义函数的形状(形态)// 即:返回值类型,参数数量,参数类型public delegate string delegatCeshi(int x,int y);private void button1_Click(object sender, EventArgs e){//第二步:2 实例化委托delegatCeshi delCeshi = new delegatCeshi(add);delCeshi += new delegatCeshi(jian);delCeshi += new delegatCeshi(chufa);//第三步:3 使用委托this.Text = delCeshi(10,5).ToString();//第二次使用未退哦button1.Text = delCeshi(100,3).ToString();//实例化第二个委托对象delegatCeshi ab = new delegatCeshi(add);ab += jian; // 可以使用new关键字,不写new是为了简写richTextBox1.AppendText(ab(5,3).ToString());}private string chufa(int a, int b){Debug.WriteLine("调用 除法 方法 " + (a / b));return (a / b).ToString();}private string jian(int m, int n){Debug.WriteLine("调用jian方法 " + (m - n));return (m - n).ToString();}private string add(int u, int t){Debug.WriteLine("调用add方法 "+(u + t));return (u + t).ToString(); }}
}
特此记录
anlog
2023年12月22日