.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);
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.556 из 5
Похожие ответы