参考代码1:

using System;

namespace DelegateDemo
{
class Program
{
public delegate void Expresser();
static void Main(string[] args)
{
//委托, delegate
Test t = new Test();
Expresser exp1 = new Expresser(t.MyExpressApple);
Expresser exp2 = new Expresser(t.MyExpressMail);
Expresser exp3 = exp2;
exp1();
exp3();
/////////////////////////////////////
Expresser exp11 = new Expresser(Test2.MyExpressBook);
Expresser exp22 = new Expresser(Test2.MyExpressPen);
exp11();
exp22();
}
}
class Test
{
public void MyExpressMail()
{
Console.WriteLine("寄送邮件");
}
public void MyExpressApple()
{
Console.WriteLine("寄送苹果");
}
}
class Test2
{
public static void MyExpressBook()
{
Console.WriteLine("寄送书籍");
}
public static void MyExpressPen()
{
Console.WriteLine("寄送笔");
}
} }

参考代码2:

using System;

namespace ArithDemo
{
class Program
{
public delegate double ArithDelegater(int a,int b); static void Main(string[] args)
{
ArithDelegater[] a= new ArithDelegater[4];
a[0]= new ArithDelegater(Arith.Add);
a[1] = new ArithDelegater(Arith.Sub);
a[2] = new ArithDelegater(Arith.Mul);
a[3] = new ArithDelegater(Arith.Div); for(int i=0;i<4;i++)
{
Console.WriteLine(a[i](100,30));
} }
}
class Arith
{
public static double Add(int a,int b)
{
return a + b;
}
public static double Sub(int a, int b)
{
return a - b;
}
public static double Mul(int a, int b)
{
return a * b;
}
public static double Div(int a, int b)
{
return (double)a / b;
}
}
}

参考代码3:

using System;

namespace ArithDemo
{
class Program
{
public delegate void ArithDelegater(int a, int b); static void Main(string[] args)
{
ArithDelegater a = new ArithDelegater(Arith.Add);
a+= new ArithDelegater(Arith.Sub);
a+= new ArithDelegater(Arith.Mul);
a+= new ArithDelegater(Arith.Div);
a(100, 30);
        Console.WriteLine("--------------");
           a.Invoke(1000, 300);
}
}
class Arith
{
public static void Add(int a, int b)
{
Console.WriteLine(a + b);
}
public static void Sub(int a, int b)
{
Console.WriteLine(a - b);
}
public static void Mul(int a, int b)
{
Console.WriteLine(a * b);
}
public static void Div(int a, int b)
{
Console.WriteLine((double)a / b);
}
}
}

[C#]delegate基础入门的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

  10. .NET ORM 的 “SOD蜜”--零基础入门篇

    PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...

随机推荐

  1. FME视频教程

    FME视频教程 分为三种 10分钟 2011 2012

  2. uniapp 图片文件流

    uni.request({ url: '*****', //仅为示例,并非真实接口地址. method: 'GET', responseType: 'arraybuffer', data: {}, h ...

  3. 部分jdk网盘链接

    链接:https://pan.baidu.com/s/1Nw84qVRL3Buarh2LY1lWEg 提取码:6q2z 含 6u45 7u80 8u202 11.0.X 的win及linux版 没有网 ...

  4. el-input 限制输入框只能输入数字和小数

    方法一: oninput ="value=value.replace(/[^\d]/g,'')" //只能输入数字 oninput ="value=value.repla ...

  5. Day 22 22.1.2:增量式爬虫 - 场景2的实现

    场景2的实现: 数据指纹 使用详情页的url充当数据指纹即可. 创建爬虫爬虫文件: cd project_name(进入项目目录) scrapy genspider 爬虫文件的名称(自定义一个名字即可 ...

  6. css背景颜色动态渐变实例

    1.https://www.imooc.com/article/27831 2.https://blog.csdn.net/lolgenius/article/details/70169493 3.h ...

  7. 牛客 二叉树中和为某一值的路径 【时间19ms】【内存9560k】

    https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca 构造函数:new ArrayList(al)把al的所有值复制到 ...

  8. 使用vue3在element plus中在el-table中拖拽

    1.安装 vuedraggable npm i -S vuedraggable 2.在使用的组件,引入.sortablejs包含在vuedraggable import Sortable from & ...

  9. 基于Face-Recognition的计算机人脸识别安全认证程序

    20202411 2020-2021-2 <Python程序设计>实验四报告 基于Face-Recognition的计算机人脸识别安全认证程序 课程:<Python程序设计> ...

  10. SQL-分组聚合-子查询

    -- having前面必须有group byselect e.deptno ,sum(e.sal) as sum_sal ,min(e.sal) as min_sal ,max(e.sal) as m ...