在Quartz.NET中获取触发器属性

Chr*_*ris 4 c# quartz.net

我需要能够获得C#中触发器的属性(即cron表达式或简单触发器的类型(每日,每小时等)及其参数),并显示它们并让它们进行修改.我现在有这个:

Trigger[] trigger = sched.GetTriggersOfJob(id, groupid);
Run Code Online (Sandbox Code Playgroud)

但我找不到任何方法让我访问这些信息.有任何想法吗?

Oha*_*der 5

怎么样

Trigger[] triggers = sched.GetTriggersOfJob(id, groupid);
foreach (SimpleTrigger simpleTrigger in triggers.OfType<SimpleTrigger>())
{
   //extract simple trigger info
}

foreach (CronTrigger cronTrigger in triggers.OfType<CronTrigger>())
{
  //extract cron trigger info
}
Run Code Online (Sandbox Code Playgroud)

如果效率很重要,您也可以在一个循环中执行此操作:

Trigger[] triggers = sched.GetTriggersOfJob(id, groupid);
foreach (var trigger in triggers)
{
   SimpleTrigger simpleTrigger = trigger as SimpleTrigger;
   if (simpleTrigger != null)
   {
     //handle simple trigger
     continue;
   }
   //same for CronTrigger...
}
Run Code Online (Sandbox Code Playgroud)