帅帅的白菜

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一直弄不懂啥是事件,啥是委托,直到自己真正意义上的动手了以后才明白了大致的意思,一直看别人的博客,不如自己动手试一试。

委托:

   顾名思义;叫别人干事情。小张你去帮我端个水。小李,你去帮我送个信。而这个小张,小李就是我们通常意义上指的委托(Eventhandler),为啥叫Eventhanlder,咱们以后再聊,我们现在就只看委托。

  就写一个控制台程序吧。不废话上源码

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

namespace ConsoleApp1
{
    class Program
    {
        public delegate void Readkey(string key);
        static void Main(string[] args)
        {
            string str = "Hello world!";
            Readkey readkey = new Readkey(show);
            readkey(str);
            Console.ReadKey();
         

        readkey = new Readkey(wxz.xianshi);
        readkey("Hi world!");
        Console.ReadKey();




        }
        public static void show(string str)
        {
            Console.WriteLine(str);
        }
        public class wxz
        {
            public static void xianshi(string str)
            {
                Console.WriteLine(str+"wxzzzzzz");
            }
        }
    }
}

运行效果:

 

委托的关键字是delegate,感觉上和其他的类还是有一些不同,首先你得声明他是一个委托(delegate),你还需要声明是否有返回值,声明传入参数类型(public delegate void Readkey(string key);),然后这个委托能干什么呢,能代替你执行方法(类型和传入参数一样的方法public static void show(string str)),使用前你需要先实例化这个委托(不然你人都找不到,又怎么让他帮你干活呢?),怎么样是不是很简单(・ω・)ノ。自己动手试一试总比别人填鸭式的教要好很多,下次我们来讲讲啥是事件。

 

posted on 2019-03-04 10:16  帅帅的白菜  阅读(114)  评论(0)    收藏  举报