Атрибут является украшением для класса или другого символа, такого как метод.Атрибут украшает объявление, но не является функцией класса.В результате атрибут не наследуется.
Да, вы можете перейти к иерархии классов, чтобы найти атрибут, но есть лучшее решение.Используйте пустой интерфейс (IMyInterface = Interface) в качестве интерфейса «маркера».Все потомки класса, реализующего интерфейс, также будут реализациями этого интерфейса.Все, что вам нужно, это убедиться, что ваш базовый класс реализует IInterface, что будет уже в случае, если ваш базовый класс происходит от TInterfacedObject или TComponent.
После того, как вы это сделаете, вы можете использовать функцию Supports для тестированияесли класс или один из его предков реализует интерфейс.