"公共"构造函数在抽象类中的相关性

Man*_*ani 16 .net c# constructor abstract-class

在抽象类中是否存在"公共"构造函数的相关性?我想不出任何可能的方法来使用它,在这种情况下不应该被编译器视为错误(C#,不确定其他语言是否允许).

示例代码:

internal abstract class Vehicle
{
    public Vehicle()
    {            
    }
}
Run Code Online (Sandbox Code Playgroud)

C#编译器允许这个代码编译,而我无法从外部世界调用这个构造函数.它只能从派生类中调用.所以不应该只允许'protected'和'private'修饰符.请评论.

Han*_*son 6

对于抽象类,没有理由使用公共构造函数.我假设编译器没有抱怨的原因很简单,他们只是没有花时间来覆盖它,因为它是公共的还是受保护的并不重要.