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


Автор: Джестер 11.6.2009, 15:45
Здравствуйте. 
Есть C#. Есть некий базовый класс. Есть классы - его потомки. Как можно получить список всех потомков базового класса? Какие-то стандартные функции, методы?
Или просто ткните носом в какой-нибудь хороший справочник по С#. 

Автор: Ctrl 11.6.2009, 18:34
Все зависит от того, что ты понимаешь под выражением "все потомки класса"

Если имеются ввиду все потомки  любого уровня в конкретной сборке, то вот тебе решение:
Код

        //...
        public static Type[] GetDerivedTypes(Type baseType, Assembly assembly) {
            return Array.FindAll(assembly.GetTypes(),
                    delegate(Type type) {
                        return (baseType != type) && baseType.IsAssignableFrom(type);
                    }
                );
        }
        //...

Автор: Джестер 11.6.2009, 20:35
Ctrl, это оно самое! Спасибо огромное! smile 
 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)