I have an abstract class that a lot of child classes inherit:
public abstract class CrawlerBase
{
public abstract void Process(string url);
}
I'm working on this loop:
foreach (var item in result)
{
object crawler = null;
switch (item.Type)
{
case "Trials":
var t = new Trials();
ct.Process(item.URL); //repetitive code.
break;
case "Coverage":
var c = new Coverage();
c.Process(item.URL); //repetitive code.
break;
default:
break;
}
// crawler.Process(item.URL);
}
Now the item.type string will depend on what child class needs to be instantiated. Since all my child classes inherit my base class, it would be very repetitive to call .Process() in every case statement. I want to cast the object "crawler" to the child class being instantiated, and call the crawler.Process() at the end of the switch statement, as shown in the comments. How can I do this?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…