题目描述
程序由两部分组成,如下代码所示。第一部分定义了委托、类和事件。第二部分进行验证。
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);
}
}
}
}
输入
无输入
输出
验证事件输出
样例输入
无
样例输出
teacher student
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
using System.IO;
namespace ConsoleApplication1
{
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 Program
{
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);
}
}
}
}
本文详细介绍C#中事件与委托的使用,通过具体代码示例展示如何在不同类间注册和触发事件,实现教师与学生类对铃声类事件的响应。
3169

被折叠的 条评论
为什么被折叠?



