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

电商网站那些功能用到静态化功能做泰迪狗网站的意义

电商网站那些功能用到静态化功能,做泰迪狗网站的意义,app开发大概要多少钱,网站设计步骤图本篇文章来学习一下C#的委托#xff0c;委托是C#中的一个重要概念#xff0c;它允许将方法作为参数传递给其他方法。C#中的委托类似于C或C中的函数指针#xff0c;并且类型安全。 委托 1.委托的定义 委托#xff08;delegate#xff09;是方法的代理/代表#xff0c;委托…       本篇文章来学习一下C#的委托委托是C#中的一个重要概念它允许将方法作为参数传递给其他方法。C#中的委托类似于C或C中的函数指针并且类型安全。 委托 1.委托的定义 委托delegate是方法的代理/代表委托的是方法当调用委托时就是调用了这个方法。委托是一类行为的抽象。是方法的引用是一种数据类型。简而言之委托是一种数据类型关键字delegate委托代表的是方法当调用委托时就是调用了这个方法。 详细解释 委托是【声明了返回类型和参数组成】一种数据类型 委托代表【代理/表示】的是方法【代表和委托签名一致的任何方法,签名:返回类型和参数组成】、【委托是一类行为的抽象】 当调用委托时就是调用【间接调用】了这个方法。【因为委托能存储方法的地址(引用)】 2.签名 2.1签名定义 签名Signature通常指的是方法、构造函数、委托、事件等的名称、参数类型和返回类型的组合。签名用于唯一标识一个方法或函数帮助编译器和运行时区分不同的方法或函数。 2.2方法签名的组成部分 ①方法名方法的名称通常用于标识该方法。 ②参数列表方法的参数类型及其顺序不包括参数的名称但包括参数的类型。 ③返回类型方法的返回类型但不包括方法的访问修饰符如public、private等和static修饰符。 注意方法签名并不包括访问修饰符、返回类型、static或virtual等修饰符只关注方法的名称和参数列表。 2.3签名举例 示例1简单方法签名 public int Add(int a, int b) {return a b; } 方法名称Add 参数列表int a, int b顺序和类型都很重要 返回类型int方法返回 int 类型的值 方法的签名Add(int, int)。 示例2不同签名 public int Add(int a, int b) {return a b; }public double Add(double a, double b) {return a b; } 这两个方法虽然名称相同Add但由于它们的参数类型不同因此它们的签名是不同的 Add(int, int)接受两个int类型的参数返回int类型。 Add(double, double)接受两个double类型的参数返回double类型。 因此尽管方法名称相同但它们的签名不同所以是不同的方法。 示例3委托的签名 委托的签名是指它所引用的方法的签名。委托签名包括方法的返回类型和参数类型而不包括委托本身的名称或其他修饰符。 public delegate int AddHandler(int x, int y); 这个委托AddHandler的签名是int AddHandler(int, int)。这意味着它可以引用任何返回类型为int且接受两个int型参数的方法。委托名称AddHandler并没有被包括在签名中。签名仅描述方法的“形态”。 绑定到方法 AddHandler addHandler Add; 如果Add方法的签名与委托签名匹配绑定是合法的。 3.委托的3个基本使用步骤 3.1定义委托 在定义端定义委托习惯命名XXXHandler如SelectHandlerdelegate前可以有访问修饰符默认为internal定义格式如下 delegate 返回类型 委托类型名(形参列表) delegate void Handler(); 3.2创建实例 在调用端创建实例即实例化委托为委托指定/绑定方法 Handler handler new Handler(Fun);//所在类的静态方法Fun的调用 Handler handler new Handler(A.FunA);//类A的静态方法FunA的调用 3.3调用委托 在调用端调用委托调用委托和调方法相似有参数就要写参数有返回值就可以返回 handler(); 4.委托的使用 例1基本语法的使用 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DelegatePro {//调用端class DelegateDemo1{static void Main(string[] args){//②实例化委托//Handler handler new Handler(Fun);//输出使用委托,调用FunHandler handler new Handler(A.FunA);//输出使用委托,调用类A的FunA//③调用委托handler();}static void Fun(){Console.WriteLine(使用委托,调用Fun);Console.ReadLine();}}//定义端//①定义委托delegate void Handler();class A{public static void FunA(){Console.WriteLine(使用委托,调用类A的FunA);Console.ReadLine();}} } 例2使用委托实现两数int相加 定义一个两数相加的方法 intintint使用委托来调用 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DelegatePro {//调用端class DelegateDemo2{static void Main(string[] args){//②实例化委托Handler handler new Handler(A.Add);//③调用委托int sumhandler(1,2);//3}}//定义端//①定义委托delegate int Handler(int a,int b);class A{public static int Add(int a,int b){return a b;}} } 4.委托的分类 4.1单播委托 一个委托对象只关联一个方法-单播调用。 using System;public class DelegatePro {//调用端class DelegateDemo3{//②实例化委托//创建一个单播委托指向 GreetHello 方法GreetDelegate greet new GreetDelegate(GreetHello);//③调用委托greet(Alice); //输出: Hello, Alice}//定义端//①定义委托public delegate void GreetDelegate(string name);public static void GreetHello(string name){Console.WriteLine(Hello, name);} } 4.2多播委托 一个委托对象关联多个方法只返回最后方法的结果-多播调用。 using System;namespace DelegatePro {//调用端class DelegateDemo4{static void Main(string[] args){//②实例化委托//创建一个多播委托指向 Add和 Division 方法Handler handler new Handler(A.Add);//使用 将方法添加到委托中handler new Handler(A.Division);//③调用委托int reshandler(6,2);//3}}//定义端//①定义委托delegate int Handler(int a,int b);class A{public static int Add(int a,int b){return a b;}public static int Division(int a, int b){return a / b;}} } 上述res的结果为3因为handler是一个多播委托它依次调用A.Add和A.Division方法。在多播委托中只有最后一个方法的返回值会被保留。如果需要处理多播委托中所有方法的返回值需要额外的逻辑来收集它们。所以A.Division返回的3。 因此委托有返回值不适合多播执行委托无返回值适合多播执行。 好了本次的分享到这里就结束啦希望对你有所帮助~
http://www.hkea.cn/news/14454033/

相关文章:

  • 免费培训seo网站线上免费推广平台都有哪些
  • 百度不收录你的网站产品免费网络营销
  • 海口建站模板厂家文登建设局官方网站
  • 成都网站建设金网科技响应式网站建设的未来发展6
  • 西乡移动网站建设酷炫html5网站
  • 成都网站设计开发公司wordpress加入自己的类库
  • 龙岩网站设计 都找推商吧系统网站内搜索关键字
  • php网站后台进不去分析seo做的不好的网站
  • 自己做网站seo优化公众号制作技巧
  • 上海市建设干部学校网站上海兼职做网站
  • 适合初学者模仿的网站网页设计与制作实训报告书
  • 做网站下载别人的图算不算侵权商丘市住房和城乡建设局网站
  • 网站建设可行性方案用python网站开发
  • 找人做网站要多少钱买CAD设计图做的网站
  • 自己做网站要不要钱专业网络推广公司排名
  • 中国建设银行网站查询余额网站开发前端模板
  • 建设共享经济网站的可行性网站后台不显示文章内容
  • 怎么用mvc架构做网站免费无线
  • 简单的房源展示网站开发html购物网站
  • 使用cdn做网站内容加速python 网站开发流程图
  • 安全的赣州网站建设做网站公司 深圳信科
  • 网站如何加后台临沂市建设工程多图联审系统 网站
  • 培训人员网站建设网站如何做排名
  • 代理网站在线怀化市住房和城乡建设局网站
  • 宝安公司网站建设比较好的商业策划书
  • 宁波网站建设 华企立方凡科 建设淘宝客网站
  • dz网站建设教程上海做网站哪家好
  • 校园门户网站系统建设网站平均停留时间
  • it类网站河北省最大的网页设计公司
  • 网站宣传页面做家教网站要多少钱