C#委托

chenxiaojie 2020-06-18 原文


C#委托


1、首先委托,就是和现实生活中的委托别人办事一样!

  例如A要做买苹果,但是A不想自己去买,就叫B去买,

  这个B就是委托(这里好像骂街了!别在意),B去买之前就肯定要就要知道A要买什么样的苹果,买多少之类的信息。

  A就说:“我一个一个和你说太麻烦了,你拿这个清单去照着买就行了”,然后B就拿这清单去了水果店。

  B跟水果店老板说:“啥也别问,照着清单上做进行,不要在这跟我逼逼赖赖的”

  水果店老板也就只有照着清单上写的做了。(这里的水果店老板就是执行者,执行了苹果这事)

这一套流程下来就是委托,而且是无返回的类型,水果店把苹果B,B把苹果交给交给A后,这就是有反回的类型

2、代码

static FileStream fs;
        static StreamWriter sw;
        // 委托声明
        public delegate void printString(string s);//我是委托清单字符串的委托都可以写

        // 该方法打印到控制台
        public static void WriteToScreen(string str)//我是执行者1
        {
            Console.WriteLine("The String is: {0}", str);
        }
        // 该方法打印到文件
        public static void WriteToFile(string s)//我是执行者2
        {
            fs = new FileStream(@"C:\message.txt", FileMode.Append, FileAccess.Write);
            sw = new StreamWriter(fs);
            sw.WriteLine(s);
            sw.Flush(); 
            sw.Close();
            fs.Close();
      }
      // 该方法把委托作为参数,并使用它调用方法
      public static void sendString(printString ps)//PS是委托清单
      {

        //我是委托人
        //我按照清单委托printString去帮我做这件事
        ps("Hello World");
      }

         static void Main(string[] args)
        {

            printString ps1 = new printString(WriteToScreen);//生成委托清单
            printString ps2 = new printString(WriteToFile);//生成委托清单
            sendString(ps1);//把清单交给委托人
            sendString(ps2);
            Console.ReadKey();
        }        

 

大致就是这样,有不同意见的或者有更好的,希望在评论区留言!!!

纯属自作,如有雷同,纯属巧合,禁止用作商业用途

  !!!

发表于
2020-06-18 10:56 
乱世晓小 
阅读(
评论(
编辑 
收藏

 

版权声明:本文为chenxiaojie原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chenxiaojie/p/13156429.html

C#委托的更多相关文章

  1. C#委托(delegate、Action、Func、predicate)和事件

    C#委托(delegate、Action、Func、predicate)和事件 C#委托(delegate、A […]...

随机推荐

  1. 操作系统及服务器分类

     ...

  2. React Native 学习笔记

      花了几天时间学习了下 React Native,了解了基本的移动端App开发流程,不得不说,坑是真的多。。 […]...

  3. Tomcat SSL配置及Tomcat CA证书安装

    Tomcat既可以作为独立的Servlet容器,也可以作为其他HTTP服务器附加的Servlet容器。如果To […]...

  4. Spring Boot 2.0系列文章(七):SpringApplication 深入探索

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/3 […]...

  5. Spring Cloud Alibaba Nacos

    1. Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 为分布式应用程 […]...

  6. Python高阶函数及函数柯里化

    1 Python高阶函数   接收函数为参数,或者把函数作为结果返回的函数为高阶函数。  1.1 自定义sor […]...

  7. 谷歌浏览器保存网页为pdf和.mhtml文件

    注:需要安装chrome谷歌浏览器,尽可能安装最新版的浏览器; 一:保存为pdf 打开要加载的网页 空白处右键 […]...

  8. windows蓝屏代码大全及常见蓝屏解决方案

    对于以下的代码查询建议使用ctrl+F查询,而且很多蓝屏与黑屏的问题多是最近操作引起的,例如更新驱动,安装新的 […]...

展开目录

目录导航