c#的委托实例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Add(int num1, int num2)
   {
       Console.Write(num1 + num2); Console.Write(‘\n‘);
   }
        static void Subs(int i, int j)
        { Console.Write(i - j); Console.Write(‘\n‘); }
       delegate void  Calc(int i,int j);//定义一个代理类型Calc,它可以用于定义各种参数为两个整数的任意方法;故
        static void Main(string[] args)
        {
            //Calc c1=new Calc(Add);
            //Calc c2=new Calc(Subs);
            //c1(3, 4);
            //c2(3, 4);
            Calc c = Add;
            c += Subs;
            c(8888, 7);
            Console.ReadKey();

        }
    }
}
     
时间: 2024-10-18 17:03:55

c#的委托实例的相关文章

简单的委托实例

namespace 使用委托窗体传值 {     public partial class Form1 : Form  // 窗体1     {         public Form1()         {             InitializeComponent();         }         private void button1_Click(object sender, EventArgs e)         {             // 创建Form2实例f2

C#中的委托解析

谈及到C#的基本特性,"委托"是不得不去了解和深入分析的一个特性.对于大多数刚入门的程序员谈到"委托"时,都会想到"将方法作为方法的参数进行传递",很多时候都只是知道简单的定义,主要是因为"委托"在理解上有较其他特性比较难的地方.在本次说明中,不会将委托的简单声明和调用作为重点. "委托"不需要直接定义一个要执行的行为,而是将这个行为用某种方法"包含"在一个对象中.这个对象可以像其他任何

C#方法的委托和java中的回调

先看个效果20130415. C#监视文件夹,显示文件夹操作到listView上 代码实现,以前在学校生活写的,就几句代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using

C#复习笔记(3)--C#2:解决C#1的问题(进入快速通道的委托)

委托 前言:C#1中就已经有了委托的概念,但是其繁杂的用法并没有引起开发者太多的关注,在C#2中,进行了一些编译器上的优化,可以用匿名方法来创建一个委托.同时,还支持的方法组和委托的转换.顺便的,C#2中增加了委托的协变和逆变. 方法组转换 方法组这个词的含义来自于方法的重载:我们可以定义一堆方法,这堆方法的名称都一样,但是接受的参数不同或者返回类型不同(总之就是签名不同----除了名字),这就是方法的重载. public static void SomeMethod(object hellow

C#高级知识点概要(1) - 委托和事件

作者:linybo 要成为大牛,必然要有扎实的基本功,不然时间再长项目再多也很难有大的提升.本系列讲的C# 高级知识点,是非常值得去撑握的,不仅可以让你写代码时游刃有余,而且去研究和学习一些开源项目时,也不会显得那么吃力了. 希望大家记住,这里讲的所有的知识点,不仅仅是了解了就可以了,还要会灵活用,一定要多思考,撑握其中的编程思想. 本文讲的是委托和事件,这两个词可能你早就耳熟能详,但你是否真正撑握了呢? 本系列讲的C#高级知识点都是要求开发时能达到可以徒手写出来的水平(不依赖搜索引擎.找笔记等

ASP.NET MVC4+EF5(Lambda/Linq)读取数据

希望大家记住,这里讲的所有的知识点,不仅仅是了解了就可以了,还要会灵活用,一定要多思考,撑握其中的编程思想. 本文讲的是委托和事件,这两个词可能你早就耳熟能详,但你是否真正撑握了呢? 本系列讲的C#高级知识点都是要求开发时能达到可以徒手写出来的水平(不依赖搜索引擎.找笔记等).建议开发时尽量自己写(时间允许的话),如果觉得自己写的不好,再Google.写多了就自然会灵活运用. 本文目录: 委托的简单使用 用委托实现插件式编程 多播委托 静态方法和实例方法对于委托的区别 泛型委托 Func 和 A

2.C#1语言核心基础

C#1语言核心基础 本部分将重点讨论C#1语言中的几个核心基础,他们包括:委托.类型系统.值/引用类型 1.委托 委托类似与函数指针,是要在恰当的时间执行的一系列操作,如果代码想要执行操作,但不知道操作细节,就可以使用委托. 简单委托的构成 要执行一个委托必须满足一下4个条件 申明委托类型 创建一个方法包含要执行的代码 创建一个委托实例 调用委托实例 合并和删除委托 上面的例子委托实例都只是一个操作,但是真实情况要稍微复杂一些,委托实例实际有一个操作列表与之关联,这就是调用列表. System.

理解委托类型

怕大家看了觉得乱七八糟不知道讲什么,先一句话描述下:如标题,在C#中委托是一种类型,如class一样也需要声明,定义,赋值,并与class在同一个层面 再介绍之前先看下相关内容的定义(我不是咬文嚼字,个人以为,有些东西的定义一定要没明白,不能含糊,不然只会是似懂非懂) delegate :(关键字->类型->引用类型[class,interface等等这些都是引用类型关键字]) delegate 是一种可用于封装命名或匿名方法的引用类型.(并不是所有的引用类型都是class) 是一种定义方法签

.net C# 中的APM异步编程方式

APM(Asynchrocous Programming Model)方式: 通过委托类异步调用方法: 1.定义一个委托类型: delegate int MyDeletateType(string s); 2.实例化一个委托实例,构造时候传入需要异步调用的函数FuncA var del = new MyDeletateType(FuncA); int FuncA(string a){Console.WriteLine(a);return 1;} 或者 var del = new MyDeleta