.NET 4.x Получение наследников интерфейса - C#
Формулировка задачи:
Унаследовал несколько классов от интерфейса, нужно их получить, чтобы выполнить некоторый метод, помеченный как override. Заранее спасибо!
Решение задачи: «.NET 4.x Получение наследников интерфейса»
textual
Листинг программы
- public abstract class Inventory : Double.IInventory
- {
- public static List<Type> childTypes = new List<Type>();
- public static List<Inventory> inventories = new List<Inventory>();
- public abstract string Name
- {
- get;
- protected set;
- }
- public static List<Inventory> InventoryList
- {
- get
- {
- return inventories;
- }
- }
- static Inventory()
- {
- Type ourtype = typeof(Inventory);
- IEnumerable<Type> list = Assembly.GetAssembly(ourtype).GetTypes().Where(type => type.IsSubclassOf(ourtype));
- foreach (var item in list)
- {
- if (item.BaseType == ourtype)
- childTypes.Add(item);
- }
- }
- public abstract Inventory Seen(Magazine mag);
- public static List<Inventory> ToListII<T>(List<T> weap)
- {
- List<Inventory> iInventory = new List<Inventory>();
- foreach (var item in weap)
- {
- iInventory.Add((item as Inventory));
- }
- return iInventory;
- }
- public abstract void Buy(Magazine mag);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д