⟩ Please explain why attributes are added to class while developing a custom component?
To indicate that the component is a custom pipeline component and in which stage it can be used, couple of attributes are added to the class.
[ComponentCategory(CategoryTypes.CATID_PipelineComponent)] -- This attribute tells that the component is cutom pipeline component
[ComponentCategory(CategoryTypes.CATID_Any)] -- This attribute tells that the component can be used at any stage
OR
[ComponentCategory(CategoryTypes.CATID_DisassemblingParser)] -- This attribute tells that the component can be used only on Disassemble stage