首页 > 编程语言 >【C#学习】--委托

【C#学习】--委托

时间:2023-04-07 10:44:28浏览次数:122  
标签:myCourse 委托 Course C# age -- delegate 方法

.1  委托

.1.1 概述

委托(代理)关键字delegate,是一种程序特性,它是用来代表方法、表示方法的,用编程里的另一个说法:委托是方法的指针。

我们首先看看通常的声明语法:

int age = 10; //这里整型变量age代表的是10这个整型值

Course myCourse = new Course();//这里将Course类实例化出一个myCourse对象,myCourse是一个特定对象的代表

而委托的声明语法在格式上与上面没有什么差别:

delegate 委托变量名 = 具体方法;//但只是格式上没啥差别,本质上委托和上面的两种声明有很大的区别(见下面)

.1.2 诞生意义及应用场景

结合实际联想:一件事情我们自己处理不了,可以委托别人来帮助处理

我  (委托)别人  做某事

delegate 委托变量名 = 具体方法;//是不是对应上了?

前面的age、myCourse代表的都是某种“静态数据”,而委托代表的是一种“动态数据(行为数据)”,而这个行为就是方法(最开始学习编程的时候我们就知道,方法代表我们需要系统运行的动作)

在软件开发中,我们也会面临类似情况,一个方法因为已经在一个特定对象中被调用,此时我们想用另一种对象去调用这个方法时往往无法直接调用,这时候就可以使用委托解决。

情境举例:

如何达成我们上面用B在A中实例化的对象b在A中成功调用A的方法呢(这里与方法是否公有无关)?

使用委托。

.1.3 委托的使用

首先声明委托(方法的原型——方法的返回值类型、方法的参数列表)

 

标签:myCourse,委托,Course,C#,age,--,delegate,方法
From: https://www.cnblogs.com/90Red/p/17287927.html

相关文章

  • 搭建本地离线yum仓库
    搭建本地离线yum仓库我们知道yum工具是基于rpm的,其一个重要的特性就是可以自动解决依赖问题,但是yum的本质依旧是把后缀名.rpm的包下载到本地,然后按次序安装之。但是每次执行yuminstallxxx,会自动安装并且安装完毕后把rpm包自动删除。当我们下载比较大的服务,比如MySQL大约190M,每......
  • labview视觉检测,一个相机,两个相机,抓边,找圆
    labview视觉检测,一个相机,两个相机,抓边,找圆,一套代码任意切换采用halcon模板匹配YID:33166640852673233......
  • matlab连续潮流程序绘制PV曲线 静态电压稳定 该程序为连续潮流IEEE14节点和33节点的程
    matlab连续潮流程序绘制PV曲线静态电压稳定该程序为连续潮流IEEE14节点和33节点的程序运行出来有分岔点和鼻点可移植性强,注释详细YID:53120676973227785......
  • 产品原型9-20230406
                ......
  • 主动配电网短期负荷预测重构 以IEEE33节点为算例,有迭代图
    主动配电网短期负荷预测重构以IEEE33节点为算例,有迭代图,各个节点在重构前的电压幅值及重构前后电压幅值的对比图,优化前后网络损耗数值对比,重构优化开断支路具体情况,以及在具体某节点处接入分布式电源的容量。有相关文献及说明。YID:5366646943521359......
  • 图腾柱无桥PFC,平均电流控制。 环路建模然后设计出电压环和电流环补偿网络
    图腾柱无桥PFC,平均电流控制。环路建模然后设计出电压环和电流环补偿网络,零极点放置。PLECS、psim和simulink均验证过,均有对应模型。同时Dual-boost PFC及两相、三相交错并联图腾柱PFC均有。YID:6566658337428528......
  • Maven
    Maven1.概述Maven隶属于Apache开发的一个项目管理工具,有三个作用:依赖管理:帮助导入jar包并快捷管理,省去自己手动导入的工作项目构建:提供标准、跨平台的自动化项目构建方式(编译、运行、测试、打包、发布等),一站式服务统一项目结构:提供统一且标准的工程目录结构main:实际项......
  • 常见sql问题总结三
    --查询各科成绩前三名的记录:(不考虑成绩并列情况)--ROW_NUMBER()函数方便统计排序。--ROW_NUMBER()OVER(PARTITIONBYSC.corse_idORDERBYSC.numberDESC)RN根据corse_id分组在进行倒叙排序SELECT*FROM(SELECTSC.student_idSNO,......
  • C# SQLHelp工具类
    usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Configuration;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Linq;usingSystem.Reflection;usingSystem.Web;namespaceEFXXH.Tool{///此类为抽象类,......
  • WhatsSaaS 优秀项目管理,企业网盘平台分享,支持私有化部署,多人实时协同办公
    项目管理、任务管理器、OKR,多种功能一网打尽,25人以内永久免费,让团队高效协作!在当今的数字化时代,企业需要高效协同办公软件来支持团队的日常工作。whatssaas是一款全新的企业协同办公软件,为团队提供高效的协作和管理工具,让团队成员之间更容易地分享信息和协同完成工作。一、项目管......