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