I have an abstract class that a lot of child classes inherit:
public abstract class CrawlerBase { public abstract void Process(string url);
Make dictionary with factory methods:
var factories = new Dictionary> { {"Trials", () => new Trials()}, {"Coverage", () => new Coverage()}, // and so on }
...and throw away switch:
switch
foreach (var item in result) { factories[item.Type]().Process(item.URL); }