委托应用的简单示例,总共分为六步:
第一:定义事件类
public class TriggerAlarmRecordEventArgs : EventArgs
{
private AlarmRecordModel _AlarmRecordModel;
public AlarmRecordModel AlarmRecord
{
get { return _AlarmRecordModel; }
set { _AlarmRecordModel = value; }
}
public TriggerAlarmRecordEventArgs(AlarmRecordModel alarmRecordModel)
{
this.AlarmRecord = alarmRecordModel;
}
}
第二:定义委托
public delegate void TriggerAlarmRecordHandler(object sender, TriggerAlarmRecordEventArgs e);
第三:在类中定义事件
public event TriggerAlarmRecordHandler TriggerAlarmRecordEvent;
第四:写触发事件函数
public void OnTriggerAlarmEvent(AlarmRecordModel alarmRecordModel)
{
TriggerAlarmRecordEventArgs e = new TriggerAlarmRecordEventArgs(alarmRecordModel);
if (TriggerAlarmRecordEvent != null)
{
TriggerAlarmRecordEvent(this, e);
}
}
第五:注册事件
m_AlarmServer.TriggerAlarmRecordEvent += new TriggerAlarmRecordHandler(m_AlarmServer_TriggerAlarmRecordEvent);
private void m_AlarmServer_TriggerAlarmRecordEvent(object sender, TriggerAlarmRecordEventArgs e)
{
//实现内容
}
第六:调用
m_AlarmServer.OnTriggerAlarmEvent(tmpModel);