【发布时间】:2021-03-24 10:17:39
【问题描述】:
我想删除带有 lambda 表达式的 if 语句以避免重复
if (string.IsNullOrEmpty(ConfigurationSettings.Hour.ToString()))
{
service.ScheduleQuartzJob(q =>
q.WithJob(() =>
JobBuilder.Create<ServiceJob>().Build())
.AddTrigger(() => TriggerBuilder.Create()
.WithCronSchedule(ConfigurationSettings.RunAtSchedule)
.Build()));
}
else
{
service.ScheduleQuartzJob(q =>
q.WithJob(() =>
JobBuilder.Create<ServiceJob>().Build())
.AddTrigger(() => TriggerBuilder.Create()
.WithSchedule(CronScheduleBuilder
.DailyAtHourAndMinute(ConfigurationSettings.Hour,
ConfigurationSettings.RunAtMinute))
.Build()));
}
如何重构它以使用 lambda 替换 if 语句?
非常感谢
加里
【问题讨论】:
-
您的意思是要将 lambda 传递到声明它的方法中以替换
.AddTrigger( .... )部分吗? -
是的,在 AddTrigger(() => TriggerBuilder.Create() 部分之后。谢谢