如果抽象类中的公共(public)构造函数只能由其派生类调用,那么它在功能上应该等同于 protected 构造函数。对吧?
在抽象类中声明公共(public)构造函数而不是保护构造函数有什么区别吗?你会用它做什么?为什么编译器不提示?
最佳答案
完全正确。您应该支持 protected 构造函数。
编辑:不,编译器不会提示,但像 FxCop(和代码分析)这样的工具会提示。我相信您可以使用抽象类上的公共(public)构造函数执行一些奇怪的反射技巧,但从您只是向其他编写子类的开发人员提供基类功能的角度来看,请坚持使用 protected 构造函数。
关于c# - C# 中抽象类中公共(public)构造函数的效用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1682275/