Я пытаюсь изучить содержимое сборки и найти в ней все классы, которые прямо или косвенно получены из Windows.Forms.UserControl.
Я делаю это:
Assembly dll = Assembly.LoadFrom(filename);
var types = dll.GetTypes().Where(x => x.BaseType == typeof(UserControl));
Но он дает пустой список, потому что ни один из классов напрямую не расширяет UserControl. Я не достаточно разбираюсь в рефлексии, чтобы делать это быстро, и я бы не стал писать рекурсивную функцию, если мне не нужно.