.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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д