Я создал фабричный класс под названием AlarmFactory как таковой...
1 class AlarmFactory
2 {
3 public static Alarm GetAlarm(AlarmTypes alarmType) //factory ensures that correct alarm is returned and right func pointer for trigger creator.
4 {
5 switch (alarmType)
6 {
7 case AlarmTypes.Heartbeat:
8 HeartbeatAlarm alarm = HeartbeatAlarm.GetAlarm();
9 alarm.CreateTriggerFunction = QuartzAlarmScheduler.CreateMinutelyTrigger;
10 return alarm;
11
12 break;
13 default:
14
15 break;
16 }
17 }
18 }
Тревога сердцебиения происходит от Alarm. Я получаю сообщение об ошибке компиляции «невозможно неявно преобразовать тип... Существует явное преобразование (вам не хватает приведения?)». Как мне настроить это, чтобы возвращать производный тип?
ИЗМЕНИТЬ
СПАСИБО ВСЕМ ЗА ВАШИ ОТВЕТЫ. Я исправил ошибку компиляции в течение десяти минут, поэтому я не публиковал всю ошибку. Но я оценил различные подходы, которые были упомянуты.
Для записи это было «Невозможно неявно преобразовать тип« goAlarmsCS.HeartbeatAlarm »в« goAlarmsCS.Alarm ». Существует явное преобразование (вам не хватает приведения?)». (Я думаю.) Ошибка возникала в строке 8.
Сет