gpt4 book ai didi

c# - 如何在 C# 中禁用无参数构造函数

转载 作者:IT王子 更新时间:2023-10-29 04:53:55 27 4
gpt4 key购买 nike

abstract class CAbstract
{
private string mParam1;
public CAbstract(string param1)
{
mParam1 = param1;
}
}

class CBase : CAbstract
{
}

对于CBase类来说,应该是通过提供参数来初始化的,那么如何关闭CBase类的无参构造函数呢?

最佳答案

如果您在CBase 中定义参数化构造函数,则没有默认构造函数。您不需要做任何特别的事情。

如果您的意图是让 CAbstract 的所有派生类都实现参数化构造函数,那不是您可以(干净利落地)完成的事情。派生类型可以自由提供自己的成员,包括构造函数重载。

它们唯一需要的是,如果CAbstract 仅公开参数化构造函数,则派生类型的构造函数必须直接调用它。

class CDerived : CAbstract
{
public CDerived() : base("some default argument") { }
public CDerived(string arg) : base(arg) { }
}

关于c# - 如何在 C# 中禁用无参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6273404/

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