繁体   English   中英

根据另一个集合中列出的类型创建元素集合

[英]Create collection of elements based on types listed in another collection

背景

我正在使用 .NET 5 和 Quartz.NET。 我想用触发器做很多工作(但每个工作都是独立的)。 创建作业的示例代码:

IJobDetail newJob = JobBuilder.Create<MyJob>()
    .WithIdentity("myJob", "myGroup")
    .Build();

MyJob是 class 包含Execute方法以及作为作业执行的代码。 我有很多这样的课。 我想创建通用方法,以便从包含类作为类型的列表中创建新作业(或者以不同的方式,我愿意接受建议)。

我的概念的伪代码:

foreach(Type t in types)
{
   IJobDetail newJob = JobBuilder.Create<t>()
    .WithIdentity("myJob", "myGroup")
    .Build();
}

问题

我的问题是:有没有办法做到这一点? 我在 Stack 上看到了关于使用这样的集合中的类型制作List的线程,但我无法使其适应我的代码。 我真的不想重复那样的代码,因为我不会过多地配置这些作业。

解决方案

似乎 Quartz.NET 共享在作业构造函数中使用 Type 变量的方法: .OfType(Type type)

IJobDetail newJob = JobBuilder.Create()
    .OfType(jobType)
    .WithIdentity("myJob", "myGroup")
    .Build();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM