Найти предков класса в C#

Пример Найти классы, реализующие интерфейс или являющиеся потомками данного класса в C# , показывает, как найти список классов, которые являются потомками класса или интерфейса. В этом примере используется аналогичный код для списка классов. Затем, если вы нажмете на класс в списке слева, программа использует следующий код для отображения предков класса для выбранного класса в списке справа.

Код очищает результат ListBox. Затем он создает List объектов TypeInfo, называемых types, для хранения предка выбранного класса. Класс TypeInfo, который содержит объекты Type и их имена, описывается в ближайшее время.

Код получает объект TypeInfo, который был нажат в левой ListBox и добавляет его в список types.

Затем код вводится в цикл. Он устанавливает переменную parent равную родительскому элементу выбранного типа. Пока parent не является null, программа вставляет новый объект TypeInfo, представляющий родителя в начале списка типов и перемещая переменную parent в родительский класс этого объекта.

Когда parent поднялся на вершину иерархии наследования, цикл завершается. В этот момент программа использует другой цикл для добавления объектов TypeInfo в список типов в ListBox справа, отступы на два пробела больше, чем предыдущий элемент, чтобы подчеркнуть тот факт, что каждый элемент получен из одного выше.

В следующем коде показан класс TypeInfo, который используется для хранения информации о типах, отображаемых в элементах ListBox.

Этот класс просто содержит объект Type и переопределяет его метод ToString, чтобы вернуть это имя объекта. Элемент ListBox использует объект ToString для отображения объекта. Эта программа добавляет объекты TypeInfo в элементы управления ListBox, чтобы они отображали имена Type.

Источник: http://csharphelper.com/blog/2017/10/find-class-ancestors-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *