Извините за нечетную формулировку вопроса. Я понимаю концепцию, но сегодня у меня нет навыков работы с Google. Любой передаваемый класс унаследует класс «BaseProduct». Это позволяет мне писать код, подобный следующему:
SyncProductsByType<PublicationProduct>();
SyncProductsByType<ApparelProduct>();
.... etc
Я просто хочу сделать foreach для подклассов базового типа, но не могу получить правильный синтаксис. Пока у меня есть:
Type parentType = typeof(BaseProduct);
Assembly assembly = Assembly.GetExecutingAssembly();
Type[] types = assembly.GetTypes();
IEnumerable<Type> subclasses = types.Where(t => t.BaseType == parentType);
, но это ВСЕ НЕПРАВИЛЬНО для использования в foreach. Я не могу понять, как сделать такую вещь:
foreach (<T> subclasse yadda yadda) {
SyncProductsByType<something?>();
}
Это даже не близко. Спасибо
Редактировать: я не считаю, что это дубликат, потому что есть предположение, что я пытаюсь вызвать метод во всех классах типа. Нет, я пытаюсь вызвать метод для всех производных типов для одного метода.