[CheckId] CA1018 [Warning] CA1018: Mark attributes with AttributeUsageAttribute [Description] 
When you define a custom attribute, mark it by using AttributeUsageAttribute to indicate where in the source code the custom attribute can be applied. The meaning and intended usage of an attribute will determine its valid locations in code.