Avoid using a public contructor for an abstract class
このページは日本語には対応しておりません。随時翻訳に取り組んでいます。
翻訳に関してご質問やご意見ございましたら、
お気軽にご連絡ください。
ID: csharp-best-practices/public-abstract-constructors
Language: C#
Severity: Notice
Category: Best Practices
Description
Using an abstract modifier in a class declaration indicates that a class is intended only to be a base class of other classes and not instantiated by itself. Due to this, there is no need for public
or internal
constructors within. Any initialization logic should be added in a private
,private protected
, or protected
constructor.
Non-Compliant Code Examples
abstract class Foo
{
internal Foo()
{
//...
}
}
abstract class Foo
{
public Foo()
{
//...
}
}
Compliant Code Examples
abstract class Foo
{
private protected Foo()
{
//...
}
}
abstract class Foo
{
private Foo()
{
//...
}
}
abstract class Foo
{
protected Foo()
{
//...
}
}