c#委托学习笔记1

委托三步骤

第一步:定义委托

//第一步: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日

相关推荐

  1. C++学习笔记1

    2023-12-23 19:18:04       26 阅读
  2. C#实践作业1(类、接口、委托

    2023-12-23 19:18:04       33 阅读
  3. C# 系统学习(事件与委托

    2023-12-23 19:18:04       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-23 19:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-23 19:18:04       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-23 19:18:04       82 阅读
  4. Python语言-面向对象

    2023-12-23 19:18:04       91 阅读

热门阅读

  1. 数组的实参传递

    2023-12-23 19:18:04       56 阅读
  2. linux tar打包压缩命令学习

    2023-12-23 19:18:04       56 阅读
  3. CSRF检测工具(XSRF检测工具)使用说明

    2023-12-23 19:18:04       68 阅读
  4. 1-GAN

    1-GAN

    2023-12-23 19:18:04      82 阅读
  5. Python Web 开发:如何用 Flask 搭建轻量级 Web 应用

    2023-12-23 19:18:04       48 阅读
  6. rsync文件同步

    2023-12-23 19:18:04       55 阅读
  7. startUML6.0.1破解方法

    2023-12-23 19:18:04       80 阅读
  8. 基于量子免疫克隆算法求解背包问题 MATLAB 代码

    2023-12-23 19:18:04       54 阅读