gpt4 book ai didi

c# - 可以在 C# 中实例化具有私有(private)和公共(public)构造函数的类 - 奇怪

转载 作者:行者123 更新时间:2023-12-02 04:45:40 24 4
gpt4 key购买 nike

伙计们,我只是在学习构造函数。我想知道为什么 MS 允许在一个类中同时使用私有(private)和公共(public)构造函数。如果我同时拥有公共(public)和私有(private)构造函数,那么它显然无法达到私有(private)构造函数的目的,因为它允许在外部创建类的实例。我觉得很奇怪。我期望的是,如果类中同时存在私有(private)和公共(public)构造函数,则应该是编译时错误。

有人可以举例说明用法和原因吗。

最佳答案

同时拥有公共(public)和私有(private)构造函数并没有错。下面是一个示例。

可能是三个不同的公共(public)构造函数共享大部分初始化逻辑。与其将相同的逻辑重复三次,不如让一个私有(private)构造函数执行公共(public)部分,然后让公共(public)构造函数委托(delegate)给公共(public)部分的私有(private)构造函数。

这不是唯一的用例,但我希望它应该足以说服您。

关于c# - 可以在 C# 中实例化具有私有(private)和公共(public)构造函数的类 - 奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19851918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com