C# 在真实场景中模拟事件和代理

C# 在真实场景中模拟事件和代理,c#,delegates,C#,Delegates,我想用现实生活中的例子来教学生关于事件和代表的知识。我想把它和现实生活中的事件联系起来 我想将下面的真实场景转换为事件和委托 我有一个心跳监护仪。每当我的心跳频率异常时,我的医生就会收到我异常心率的通知 我想用C#4.0编写一段代码,将其映射到事件和委托中 非常感谢您的帮助。您可以使用以下代码: class MyHeartBeatMonitor { public event EventHandler<AbnormalHeartRateSimulation> Abnormalh

我想用现实生活中的例子来教学生关于事件和代表的知识。我想把它和现实生活中的事件联系起来

我想将下面的真实场景转换为事件和委托

我有一个心跳监护仪。每当我的心跳频率异常时,我的医生就会收到我异常心率的通知

我想用C#4.0编写一段代码,将其映射到事件和委托中


非常感谢您的帮助。

您可以使用以下代码:

class MyHeartBeatMonitor
{
    public event EventHandler<AbnormalHeartRateSimulation> Abnormalheartbeats;

    public void NotifyFamilyDoctor()
    {
        EventHandler<AbnormalHeartRateSimulation> handler 
                                                   = Abnormalheartbeats;
        if (handler != null)
        {
            AbnormalHeartRateSimulation simulatedRates =
                                        new AbnormalHeartRateSimulation();
            simulatedRates.heartRate = 140;
            handler(this, simulatedRates);
        }


  }
}

public class AbnormalHeartRateSimulation : EventArgs
    {
        public int heartRate { get; set; }
    }


class FamilyDoctor
  {
   public void EventHandler(
                          object sender,AbnormalHeartRateSimulation args)
   {
      Console.WriteLine("Your Patient's HearRate is " + args.heartRate);
    }


    }

class Program
    {
     static void Main(string[] args)
     {
       MyHeartBeatMonitor monitor = new MyHeartBeatMonitor();
       FamilyDoctor doctor = new FamilyDoctor();
       monitor.Abnormalheartbeats += doctor.EventHandler;
       monitor.NotifyFamilyDoctor();
       Console.ReadKey(true);
      }
}
类MyHeartBeatMonitor
{
公共事件事件处理程序异常心跳;
public void NotifyFamilyDoctor()
{
事件处理程序
=异常心跳;
if(处理程序!=null)
{
模拟心率异常=
新的模拟方法();
模拟心率=140;
处理程序(这是模拟的);
}
}
}
公共类模拟:EventArgs
{
公共整数心率{get;set;}
}
类家族医生
{
公共void事件处理程序(
对象发送方(参数)
{
Console.WriteLine(“患者的听力为”+args.heartRate);
}
}
班级计划
{
静态void Main(字符串[]参数)
{
MyHeartBeatMonitor=新建MyHeartBeatMonitor();
FamilyDoctor医生=新的FamilyDoctor();
monitor.unnormalheartbeats+=doctor.EventHandler;
monitor.NotifyFamilyDoctor();
Console.ReadKey(true);
}
}

请根据您的需求进行定制。祝你一切顺利

听起来很好,很高尚。你的问题是什么?@Damien-问题是如何编写代码来表达这个想法