I have an ITemplate interface in my project. All interfaces derived from it have names that do not start with I. This causes the InconsistentNaming warning to appear.
I want to suppress this warning for all interfaces derived from the ITemplate interface.
I know about SuppressMessage attribute, but it does not suppress warnings on the derived types. I tried to play around with Scope property of this attribute, but unfortunately nothing changed.
Basically, I want to do something like this:
[SuppressMessage("ReSharper", "InconsistentNaming", Target = Targets.Inheritors)]
public interface ITemplate;
Iprefix for interface names and most people that read your code will know what that means. But that's up to you I guess.Iprefix for the interfaces, but interfaces derived fromITemplateare used only through reflection in my project, and their names is important. I can't use abstract classes because some templates must be derived from more than one other template