c# - 抽象类中 'public'构造函数的相关性

标签 c# .net constructor abstract-class

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

示例代码:

internal abstract class Vehicle
{
    public Vehicle()
    {            
    }
}

C# 编译器允许编译此代码,但我无法从外部世界调用此构造函数。它只能从派生类中调用。 所以它不应该只允许“ protected ”和“私有(private)”修饰符。 请评论。

最佳答案

没有理由为抽象类使用公共(public)构造函数。我认为编译器没有提示的原因很简单,他们只是没有花时间讨论它,因为它是公共(public)的还是 protected 并不重要。

关于c# - 抽象类中 'public'构造函数的相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2742408/

相关文章:

c# - 如何将项目升级到 C# 6

c# - 将 .net 对象反序列化为具有多个命名空间的 XML

.net - BeginReceive在单独的线程中

c# - 对象名称 dbo 表名无效 - Entity Framework 适用于 IIS,但不适用于 Azure 应用服务

c++ - const 引用必须在构造函数基类/成员初始化列表中初始化

c# - 如何在 App.Config 中写入 URI 字符串

c# - 从用户控件调用的 GridView 在页面重新加载时为空

c# - windows phone 7 图片应用图片转场,如何自己制作?

c++ - 构造一个对象,将其传递给基类构造函数以控制其生命周期

constructor - 为什么构造函数不返回值?