Recommendation 90: Do not provide a public construction method for abstract classes
First, an abstract class can have a construction method. Even if you do not specify a constructor method for an abstract class, the compiler will generate a default protected constructor for us. The following is a standard simplest abstract class:
Abstract class Myabstractclass { protected Myabstractclass () {} }
Second, the methods of abstract classes should not be public or internal. Abstract class design is intended to allow subclasses to inherit, rather than to generate instance objects. If the abstract class is public or internal, it is visible to other types, which is unnecessary and superfluous. In other words, the abstract class only needs to be visible to the child class.
Turn from: 157 recommendations for writing high-quality code to improve C # programs Minjia
"Go" writing high-quality Code 157 recommendations for improving C # programs--Recommendation 90: Do not provide a public construction method for abstract classes