Я хочу систему уведомления о событиях, которая должна уведомить врача, когда сердцебиение пациента превышает 120. Я не знаю, как создать такую систему. Просто я осуществил неправильный. Помогите мне в реализации правильного.C# - Соображения о событиях
static void Main()
{
Patient[] patList = { new Patient
{ PatientID = "1", HeartBeat = 100 },
new Patient { PatientID = "2", HeartBeat = 130 } };
List<Patient> plist = patList.ToList();
Console.ReadKey(true);
}
public class Doctor
{
public event PulseNotifier AbnormalPulseRaised;
public string Name
{
get;
set;
}
}
public class Patient
{
public event PulseNotifier AbnormalPulseRaised;
static Random rnd = new Random();
public Patient()
{
PulseNotifier += new PulseNotifier(OnAbnormalPulseRaised);
}
public string PatientID
{
get;
set;
}
public int HeartBeat
{
get;
set;
}
public void HeartBeatSimulation(List<Patient> patList)
{
foreach(Patient p in patList)
{
if (p.HeartBeat > 120)
{
if (AbnormalPulseRaised != null)
{
AbnormalPulseRaised(p);
}
}
}
}
public void OnAbnormalPulseRaised(Patient p)
{
Console.WriteLine("Patient Id :{0},Heart beat {1}",
p.PatientID, p.HeartBeat);
}
}
Помимо этого, я хочу иметь общее разъяснение.
Каков наилучший способ запомнить шаблон издателя и наблюдателя ?. Потому что я довольно смущаюсь о том, где внедрять издателя и где реализовать
@Stormenet Не возбуждается событие. – user215675
Хорошо, теперь это работает, необходимо использовать System.Threading.Timer вместо System.Windows.Forms.Timer, так как не существует цикла приложения :) – Stormenet