[英]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.