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;
    这个委托就相当于做了两件事,先买东西再带小白散步。

  • 相关阅读:
    docker6 管理工具
    docker1 初识docker
    libsvm处理多分类的问题
    selenium webdriver 的三种等待方式
    文本深度表示模型Word2Vec
    机器学习中训练集、验证集、测试集的定义和作用
    机器学习中防止过拟合的处理方法
    用Python读取大文件
    进化世界
    EDS(实例)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3196814.html
Copyright © 2011-2022 走看看