CA1501: Avoid excessive inheritance
For the latest documentation on Visual Studio 2017 RC, see Visual Studio 2017 RC Documentation.
A type is more than four levels deep in its inheritance hierarchy.
Deeply nested type hierarchies can be difficult to follow, understand, and maintain. This rule limits analysis to hierarchies in the same module.
To fix a violation of this rule, derive the type from a base type that is less deep in the inheritance hierarchy or eliminate some of the intermediate base types.
It is safe to suppress a warning from this rule. However, the code might be more difficult to maintain. Note that, depending on the visibility of base types, resolving violations of this rule might create breaking changes. For example, removing public base types is a breaking change.
The following example shows a type that violates the rule.
Imports System Namespace MaintainabilityLibrary Class BaseClass End Class Class FirstDerivedClass Inherits BaseClass End Class Class SecondDerivedClass Inherits FirstDerivedClass End Class Class ThirdDerivedClass Inherits SecondDerivedClass End Class Class FourthDerivedClass Inherits ThirdDerivedClass End Class ' This class violates the rule. Class FifthDerivedClass Inherits FourthDerivedClass End Class End Namespace