什么是公共构造函数在C#中的抽象类中的实用性?
如果抽象类中的公共构造函数只能由其派生类调用,则它应该在function上等同于受保护的构造函数。 对?
在抽象类中声明公共构造函数而不是受保护构造函数有什么区别吗? 你会用它做什么用的? 为什么编译器没有投诉?
完全正确。 您应该支持受保护的构造函数。
编辑:没有编译器不抱怨,但像FxCop(和代码分析)这样的工具。 我相信你可以在抽象类上使用公共构造函数做一些奇怪的reflection技巧,但从一个角度来看,你只是向其他开发人员编写子类提供基类function,坚持使用受保护的构造函数。
你是对的。 抽象类中的公共构造函数在function上等同于受保护的构造函数。
在这种情况下,我更喜欢使用受保护的构造函数。
虽然编译器确实不会抱怨你这样做,但编译器会抱怨尝试生成抽象类的实例。 如果您尝试实例化抽象类,Visual Studio也足够聪明,不提供Intellisense。
是的,你是对的,几乎公共构造函数在abscract类中没有用,因为你无法创建它们。
但是编译器不会抱怨,因为这样你可以在c#的上下文中编写很多无用的东西,但是它无法检查它的逻辑含义,它只能检查它所设置的解析规则。
确定c#创建者专注于创建实际有害且违反语言使用的编译语法(规则)。
上述就是C#学习教程:什么是公共构造函数在C#中的抽象类中的实用性?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1013743.html