繁体   English   中英

如何从无参数派生类调用带参数的基类构造函数?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM