Tworzenie obiektu na podstawie identyfikatora (lub nazwy)
Mam klasę abstrakcyjną, którą dziedziczy wiele klas potomnych:
public abstract class CrawlerBase
{
public abstract void Process(string url);
}
Pracuję nad tą pętlą:
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);
}
Teraz łańcuch item.type będzie zależał od klasy podrzędnej, która musi zostać utworzona. Ponieważ wszystkie moje klasy potomne dziedziczą moją klasę bazową, bardzo powtarzalne byłoby wywołanie metody .Process () w każdej instrukcji case. Chcę rzucić obiekt „przeszukiwacz” na instancję klasy podrzędnej i wywołać przeszukiwacz.Process () na końcu instrukcji switch, jak pokazano w komentarzach. Jak mogę to zrobić?