Вы можете загрузить все типы в сборку, а затем перечислить их, чтобы увидеть, какие из них реализуют тип вашего объекта. Вы сказали «объект», поэтому приведенный ниже пример кода не предназначен для интерфейсов. Кроме того, этот пример кода ищет только ту же сборку, в которой был объявлен объект.
class A
{}
...
typeof(A).Assembly.GetTypes().Where(type => type.IsSubclassOf(typeof(A)));
Или, как предлагается в комментариях, используйте этот пример кода для поиска по всем загруженным сборкам.
var subclasses =
from assembly in AppDomain.CurrentDomain.GetAssemblies()
from type in assembly.GetTypes()
where type.IsSubclassOf(typeof(A))
select type
Для обоих примеров кода требуется добавить using System.Linq;