在c#中,有没有一种方法可以实现抽象类,以便使用提供的第一个参数自动调用基本构造函数?

时间:2020-09-15 01:02:36

标签: c#

我有一个称为Unit的抽象基类。我可能想要数十或数百个Unit的实现。 这是精简的单位,仅显示构造函数:

public abstract class Unit {
   public Unit(string unitName, Unit parentUnit,Transform parentTransform,Vector3 position,Quaternion rotation){
      //Do stuff with the parameters
   }
}

这是一个带有一个额外参数(factorySize)的实现(工厂):

public abstract class Factory : Unit{
   public Factory(string unitName, Unit parentUnit,Transform parentTransform,Vector3 position,Quaternion rotation, float factorySize) : base(unitName,parentUnit,parentTransform,position,rotation){
      //Do stuff with factorySize
   }
}

但是,如果我有成百上千种此类实现,并且如果我想更改基类参数列表,那么我必须进入并为每一个更改很长的构造函数行,以使其与基类参数列表匹配! / p>

public SomeUnitType(string unitName, Unit parentUnit,Transform parentTransform,Vector3 position,Quaternion rotation, float factorySize) : base(unitName,parentUnit,parentTransform,position,rotation)

是否有更好的方法可以做到这一点,所以我不需要手动告诉构造函数将那些第一个参数传递给基本构造函数?

1 个答案:

答案 0 :(得分:0)

如果使用的是Visual Studio 2019的最新版本,则可以自动生成构造函数,然后添加新参数。

  1. 右键单击基类mysql> grant all privileges on *.* to ‘user’@‘12.34.56.78’ identified by ‘user's password’;,然后单击“快速操作和重构...”。 Step1

  2. 单击“生成构造函数”。 Step2

从那里,您可以简单地使用所需的参数调整新生成的构造函数。