zoukankan      html  css  js  c++  java
  • 基于事件的程序设计技术简单事例

    l 场景

    主要实现以下功能:

    掌握事件与委托,出版社发行刊物时候,触发或者发布事件onpublish,事件一旦触发,事件的订阅者会收到该报刊“xx,收到报刊”(其中的XX为事件发生时传递的参数值)。

    l 实验方法

    1. 在控制台应用程序程序中编写代码,项目名为EventTest

    1. 声明出版社class Publisherde事件发布者类,该类中包含报刊发行事件onpublish和委托publish()

    2. 在class Publisherde进一步声明public void issue()发行刊物方法,触发事件。

    3. 再声明calss  Subscriber 事件订阅者类,该类提供一个事件处理方法——public void Receive()(收到刊物方法)。 

    4、在main方法中,调用issue(),触发并订阅事件。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace EventTest
    {
    
        public delegate void MyDelegate();
        public class Publisherde
        {
            public event MyDelegate publish;
            public void onpublish()
            {
                Console.WriteLine("发行报刊------------触发事件");
            }
            public void issue()
            {
                if (publish != null)
                {
                    publish();
                }
            }
        }
    
        class Subscriber
        {
            public void Receive()         //事件处理方法
            {
                Console.WriteLine("zxy收到报刊--------响应时间,执行事件处理函数");
            }
        }
       
        class Program
        {
            static void Main(string[] args)
            {
                Subscriber ss = new Subscriber();
                Publisherde pub = new Publisherde();
                MyDelegate md = new MyDelegate(pub.onpublish);
                MyDelegate md1 = new MyDelegate(ss.Receive);
                md = md + md1;
                pub.publish += md;
                
                pub.issue();
    
                Console.Read();
            }
        }
    }
    


  • 相关阅读:
    P3990 [SHOI2013]超级跳马
    P4279 [SHOI2008]小约翰的游戏
    zabbix、agent端服务器图形化展示
    zabbix_agent代理端监控FTP服务
    hadoop SecondNamenode详解
    HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER
    Linux netstat命令详解(检验本机各端口的网络连接情况)
    查看监听端口命令
    Hadoop服务的端口50070无法访问的问题
    Linux-centos6.8下关闭防火墙
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/4239789.html
Copyright © 2011-2022 走看看