Rzutowanie wszystkich obiektów na liście na klasę bazową

0

Hej,
Prośba o pomoc w rozwiązaniu problemu:

Mam klasę bazową A
Po niej dziedziczą inne klasy B i C.
Mam też listy obiektów B i C (listB, listC)

W innej, odrębnej klasie mam metodę, która chciałbym, aby przyjmowała jako parametr listB i listC. Metoda ta będzie wykonywała operacje tylko na polach klasy A.
Czy jest jakaś możliwość rzutowania wszystkich obiektów z listB i listC na obiekty klasy A?

0

Jeżeli dobrze rozumiem to metoda Cast z przestrzeni System.Linq powinna cię zadowolić.

List<B> listB = new List<B>()
{
	new B(),
	new B(),
	new B()
};

List<C> listC = new List<C>()
{
	new C(),
	new C(),
	new C()
};

List<A> listA = listB.Cast<A>()
					 .Concat(listC)
					 .ToList();
0

Dokładnie o to, bez Concat(listC). Bedę używał tej metody wiele razy dla różnych klas pochodnych od A

Dziękuję

1 użytkowników online, w tym zalogowanych: 0, gości: 1