zoukankan      html  css  js  c++  java
  • 问题 C: C#委托、类和事件的验证

    题目描述

    程序由两部分组成,如下代码所示。第一部分定义了委托、类和事件。第二部分进行验证。 

    using System;
    namespace HelloWorldApplication
    {
        public delegate void DelegateRing();
        public class Bell{
            public event DelegateRing Ring;
            public void OnRing(){ Ring(); }
        }
    /////////////////////////////////////////////////////////////////
                
                请填写代码
    
    /////////////////////////////////////////////////////////////////
        class HelloWorld
        {
            static void Main(string[] args)
            {
                try{
                    Teacher teacher = new Teacher();
                    teacher.Register(new Bell());
                    Student student = new Student();
                    student.Register(new Bell());
                    Console.ReadKey();
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }

    输入

    无输入

    输出

    验证事件输出

    样例输入

    .wrapper {position: relative;} #input {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;}

    样例输出

    teacher
    student

    提示

    只需要输出样例输出的结果

    只需要提交需要填写的代码

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace 委托_类和事件的验证
    {
        public delegate void DelegateRing();
        public class Bell
        {
            public event DelegateRing Ring;
            public void OnRing() { Ring(); }
        }
    
        class Teacher
        {
            public void Register(Bell bell)
            {
                bell.Ring += new DelegateRing(HandleEvent);
                bell.OnRing();
            }
            public void HandleEvent()
            {
                Console.WriteLine("teacher");
            }
        }
        class Student
        {
            public void Register(Bell bell)
            {
                bell.Ring += new DelegateRing(HandleEvent2);
                bell.OnRing();
            }
            public void HandleEvent2()
            {
                Console.WriteLine("student");
            }
        }
    
        class HelloWorld
        {
            static void Main(string[] args)
            {
                try
                {
                    Teacher teacher = new Teacher();
                    teacher.Register(new Bell());
                    Student student = new Student();
                    student.Register(new Bell());
                    Console.ReadKey();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
    }
    

      

  • 相关阅读:
    QT 手式编译步骤
    Linux QT 连接 Sqlite数据库
    JDK_1.8的Windows和Linux环境下的下载与安装
    聚焦BPM弹窗
    SQL查重去重
    sql函数使用
    SQL游标
    转载:《TypeScript 中文入门教程》 2、枚举
    《TypeScript 中文入门教程》 1、基础数据类型
    转载:《TypeScript 中文入门教程》
  • 原文地址:https://www.cnblogs.com/mjn1/p/12619062.html
Copyright © 2011-2022 走看看