[英]How to call parameterised base class constructor from parameterless derived class?
我的基类不包含无参数构造函数。
所以我通常可以这样调用基类构造函数:
public ItemFoldersForm(FormConstructor constuctorOptions): base(constuctorOptions.WindowTitle, constuctorOptions.TabName, constuctorOptions.TabButton)
{
}
所有这些都是非常标准的,但是为了易于重用,我想在派生类中使用无参数构造函数。 这是因为构造函数选项基于随机生成器。
像这样:
public ItemFoldersForm()
{
var constructorOptions = ConstructorOptions.GetRandomConstructorOptions();
base: // what to do here....
}
使用c#可以实现此概念吗?
您可以定义两个构造函数:
public ItemFoldersForm(FormConstructor constuctorOptions) : base(constuctorOptions.WindowTitle, constuctorOptions.TabName, constuctorOptions.TabButton)
{
}
public ItemFoldersForm() : this(ConstructorOptions.GetRandomConstructorOptions())
{
}
使用默认构造函数生成您的随机选项,然后将这些随机选项传递给重载的构造函数,该重载的构造函数会将属性传递给基数。
请注意,唯一的方法是在构造函数的主体之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.