Skip to content

Gendarme.Rules.Design.AbstractTypesShouldNotHavePublicConstructorsRule(2.10)

Sebastien Pouliot edited this page Jan 22, 2011 · 2 revisions

AbstractTypesShouldNotHavePublicConstructorsRule

Assembly: Gendarme.Rules.Design
Version: 2.10

Description

This rule fires if an abstract type has a public constructor. This is a bit misleading because the constructor can only be called by the constructor of a derived type. To make the type's semantics clearer make the constructor protected.

Examples

Bad example:

abstract public class MyClass {
    public MyClass ()
    {
    }
}

Good example:

abstract public class MyClass {
    protected MyClass ()
    {
    }
}
Clone this wiki locally