Say you have the following code to read your custom attribute:
var attrs = typeof(MyClass).GetCustomAttributes(typeof(MyCompositeAttribute) ,false);
Any code that relies on says:
var attrs = typeof(MyClass).GetCustomAttributes(typeof(ProgId) ,false);
will not be able to return this attribute.
source share