zoukankan      html  css  js  c++  java
  • [自学问题总结]委托与事件

    委托,通熟易懂的举个例子:妈妈让小新去买东西

    一 首先是C#语法

    public delegate void BuyThingEventHandler();

    delegate是关键字

    EventHandler是一个声明委托的微软C#的命名标准

    二 定义小新类

    /// <summary>
    /// 小新类
    /// </summary>
    private class CraYon
    {
    	public static void BuyThing()
    	{
    		Console.WriteLine("妈妈,东西买好了!");
    	}
    }


    三 主方法

    internal class Program
    	{
    		public delegate void BuyThingEventHandler();
    
    		private static void Main(string[] args)
    		{
    			BuyThingEventHandler myDelegate = new BuyThingEventHandler(CraYon.BuyThing);
    
    			myDelegate();
    			Console.ReadKey();
    		}
    	}
    BuyThingEventHandler myDelegate = new BuyThingEventHandler(CraYon.BuyThing);这个是委托声明方法。
    注:委托的参数和返回值类型,都要和具体委托的方法一致:

    public delegate void BuyThingEventHandler();


    public static void BuyThing(){
    Console.WriteLine("妈妈,东西买好了!");

    }

    四 委托链

    简单描述为,妈妈让小新去买完东西后,还让他带小白去散步。

    using System;
    
    namespace test1
    {
    	internal class Program
    	{
    		public delegate void BuyThingEventHandler();
    
    		private static void Main(string[] args)
    		{
    			//委托
    			BuyThingEventHandler myDelegate = new BuyThingEventHandler(CraYon.BuyThing);
    			myDelegate += CraYon.WalkDog;
    
    			myDelegate();
    			Console.ReadKey();
    		}
    	}
    
    	/// <summary>
    	/// 小新类
    	/// </summary>
    	public class CraYon
    	{
    		public static void BuyThing()
    		{
    			Console.WriteLine("妈妈,东西买好了!");
    		}
    
    		public static void WalkDog(){
    			Console.WriteLine("妈妈,小狗散完步了,收集的大便给你!");
    		}
    	}
    }

    其实我们只是在程序中加了
    myDelegate += CraYon.WalkDog;
    这个委托就相当于做了两件事,先买东西再带小白散步。

  • 相关阅读:
    变Win 2003为工作站
    搞笑短信
    ECC加密算法入门介绍
    搞笑短信
    万能Ghost系统制作教程
    “注册编辑已被管理员停用”之解决办法
    让Win7任务栏的“库”显示“我的电脑”
    全景拼图利器PTGui Pro 9.1.6 Retail汉化版
    Win7远程桌面不能连接的解决方案
    到底谁霸占了A类的IP地址
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3196814.html
Copyright © 2011-2022 走看看