ReSharper 2017.2 Help

Code Inspection: Redundant class or or interface specification in base types list

If the list of base types in a class declaration contains types that are in an inheritance relationship, ReSharper issues the warning about redundant specification of a type. Since inheritance in C# is transitive, it is enough to specify the type from which your class derives directly.

In the example below, specifying IFoo in the declaration of MyClass is not necessary because MyClass inherits IFoo from its base class BaseClass. Therefore, ReSharper suggests removal of IFoo from the list of base types of MyClass.

Suboptimal codeAfter the quick-fix
public class BaseClass : IFoo { } public class MyClass : BaseClass, IFoo { }
public class BaseClass : IFoo { } public class MyClass : BaseClass { }
Last modified: 14 December 2017

See Also