`
wsql
  • 浏览: 11808831 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

C#委托基础1——委托基础

 
阅读更多

C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。

委托和其委托的方法必须具有相同的签名。签名相同:1.参数类型相同 2.参数数量相同 3.返回值一致

<wbr></wbr>

例一

class Program
{
        public delegate int MathMethod(int x, int y);
       
        public int Add(int a, int b)
        {
            return a + b;
        }

        static void Main(string[] args)
        {
            MathMethod mm;
            Program p = new Program();
            mm = p.Add;// 相当于一个方法的容器
            Console.WriteLine("计算结果为{0}",mm(7,6));
            Console.ReadLine();
        }
}

例二

class Program
{
       
        public delegate double MathMethod(double x, double y);

        double Add(double a, double b)
        {
            return a + b;
        }

        double Subtract(double a, double b)
        {
            return a + b;
        }

        double Multiply(double a, double b)
        {
            return a * b;
        }

        double Divide(double a, double b)
        {
            return a / b;
        }

        void DoCalculate(MathMethod mm)
        {
            Console.WriteLine("请输入第一个数");
            double x = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("请输入第二个数");
            double y = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("结果{0}",mm(x, y));
            Console.ReadLine();
           
        }

        static void Main(string[] args)
        {
            MathMethod mm;
            Program p = new Program();
            mm = p.Divide;
            p.DoCalculate(mm);
        }
}


本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容

分享到:
评论

相关推荐

    C#委托和事件de理解

    用简明语言对C#中较难的内容——委托和事件进行说明,帮助理解

    委托实例,简单易懂

    C#委托是什么的? 在正式介绍委托之前,我想下看看生活中委托的例子——生活中,如果如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师真真执行的是当事人的陈词,这时候律师就是一个委托对象,当事人...

    c# 委托的本质是什么

     平时我们很容易使用委托——用C# delegate关键字定义委托,再用new操作符构造委托实例,然后通过调用委托实例来调用回调方法(就是用一个了委托对象的变量来代替方法名,这句话如果刚接触的人不好理解的话,这里...

    C# 引入委托的目的是什么

    一、C#委托是什么的? 在正式介绍委托之前,我想下看看生活中委托的例子——生活中,如果如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师真真执行的是当事人的陈词,这时候律师就是一个委托对象,当事...

    C#仿真资源管理器——界面设计操作实验报告

    1)利用委托实现一个客户端/服务器简单聊天程序 2)利用事件实现一个客户端/服务器简单聊天程序

    C#委托投票系统.rar

    C#委托投票系统是一个操作简单的投票系统,也适用于新手的使用,这是一款方便的头票系统,操作方便简单,喜欢的可以尝试实现该代码!

    C#中的委托类似C++中的函数的指针,功能强大,灵活

    相对C#和Java来说,C++中有一个让人又爱又恨的东西——指针。指针以功能强大,灵活,运算速度快而闻名。但是,指针在很多情况下是不安全的。例如:在C#中也可以使用指针,但在使用前必须声明是不安全的。在C#中,...

    详解c# 委托链

    答案是可以的,这就是本专题要讲的内容——委托链,委托链也是一个委托,只是因为它是把多个委托链在一起,所以我们就以委托链来这么称呼它的。 一、到底什么是委托链 我们平常实例化委托对象时都是绑定一个方法的...

    C#实现的几种委托方式介绍

    代码如下://普通委托 DeleteShow ds = new DeleteShow(ShowName); Console.WriteLine(“———————-“); Console.WriteLine(“普通委托—-请输入用户名:”); string Name = Console.ReadLine(); Console....

    VB.Net-C#多线程Thread-代理委托delegate编程

    最近收集的VB.Net-C#多线程Thread-代理委托delegate编程。文章列表: c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问....

    C#入门——面向对象等,代码+注释

    第21天 01为什么会有委托 02泛型委托 03多播委托 04使用委托进行窗体传值 05事件 06事件 07程序集的引用 07Common 08反射的常用函数 09用反射制作计算器 第22天 01 SqlConnection 数据库 02...

    C#全能速查宝典

    第1章 C#语言基础 1 1.1 常用概念、关键字及基础类 1 1.1.1 abstract关键字——抽象 1 1.1.2 as操作符——引用类型转换 3 1.1.3 base关键字——从派生类中访问基类的成员 3 1.1.4 变量——存储特定类型的数据 4 ...

    设计模式——基于C#的工程化实现及扩展

    第2篇创建型模式介绍通过将实例化职责委托他方对象的办法,隔离客户程序与具体类型实例化的依赖关系,保证客户程序(或者外部系统)获得期望具体类型实例的、同时不必发生直接的引用;第3篇结构型模式的重点在于如何...

    金旭亮《C#面向对象程序设计》教案_6:委托与事件

    此教案重点介绍.NET平台上的重要技术——委托,以及对建立于委托基础之上的.NET事件响应机制的深入剖析。包括两个29页的PDF文档及数个VS2010示例。前几讲的教案请访问http://bitfan.download.csdn.net/下载,更新...

    深入理解C# 中文第三版

    在第2版的基础上,《深入理解C#(第3版)》新增了C# 5的新特性——异步,并更新了随着技术的发展,已经不再适用的内容,确保整本书能达到读者期望的高标准。 如果你略微了解一点C#,就可无障碍地阅读《深入理解C#(第3...

    c#基础实例

    第一章C# Windows编程基础 实例1 循环语言的学习-砝码程序验证 实例2 随机数的案例-洗牌程序 实例3 通过实例来剖析C#继承机制 实例4 递归与全局变量的案例1-打靶程序 实例5 递归与全局变量的...

    Modern C#(11):深入“委托和事件” (Level 300)

    Modern C#(11):深入“委托和事件” (Level 300) 讲 师:俞晖 MSDN 特邀讲师 课程简介:本次课程是系列课程《现代软件开发——使用.NET与C#》的第十一讲(即重开第一讲), 这次系列讲座的目的是为希望从...

    Visual C# 2008从入门到精通.pdf

    而C#是.NET的核心——.NET框架的“母语”,因此使用C#能够有效地开发基于.NET的应用程序。  本书以最新的.NET 3.5和Visual C# 2008为基础循序渐进地介绍了从入门到深入掌握Visual C# 2008所需的各个方面,包括...

Global site tag (gtag.js) - Google Analytics