在我的应用中,我有一个Alarm
,计划在上午8:00(BeginTime
)开始。我面临的问题是我不确定更新BeginTime
的最合适方式。
我尝试在Alarm
中找到ScheduledActionService
,然后从那里更新它。不幸的是,它似乎不起作用,Alarm
永远不会被触发。
var schedule = ScheduledActionService.Find(alarmModel.Name);
if (schedule != null)
{
var alarm = (Alarm)schedule;
if (alarm.BeginTime != alarmModel.BeginTime)
{
alarm.BeginTime = alarmModel.BeginTime;
}
}
如果我从ScheduledActionService
中删除它,然后添加一个新的,那么它就可以了。
但这看起来很丑陋......这是我能'更新'Alarm
???的唯一方法!
谢谢,
辛
答案 0 :(得分:2)
没有。正确的方法必须是致电Replace()。
var schedule = ScheduledActionService.Find(alarmModel.Name);
if (schedule != null)
{
var alarm = (Alarm)schedule;
if (alarm.BeginTime != alarmModel.BeginTime)
{
alarm.BeginTime = alarmModel.BeginTime;
ScheduledActionService.Replace(alarm);
}
}