c# - 在 C# 中,有没有办法实现抽象类,以便使用提供的第一个参数自动调用基本构造函数?
问题描述
我有一个名为 Unit 的抽象基类。我可能想要数十或数百个 Unit 实现。这是 Unit 精简后仅显示构造函数:
public abstract class Unit {
public Unit(string unitName, Unit parentUnit,Transform parentTransform,Vector3 position,Quaternion rotation){
//Do stuff with the parameters
}
}
这是一个带有一个额外参数(factorySize)的实现(Factory):
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
}
}
但是,如果我有数百种这样的实现,并且如果我想更改基类参数列表,我必须进入并为每个实现更改很长的构造函数行,以便它与基类参数列表匹配!
public SomeUnitType(string unitName, Unit parentUnit,Transform parentTransform,Vector3 position,Quaternion rotation, float factorySize) : base(unitName,parentUnit,parentTransform,position,rotation)
有没有更好的方法来做到这一点,所以我不需要手动告诉构造函数将这些第一个参数传递给基本构造函数?
解决方案
推荐阅读
- node.js - 将域设置为 Heroku 应用程序后“无法访问此站点”?
- bash - Makefile:语法错误/bin/sh:-c:语法错误:文件意外结束
- bash - 将关联数组从一个脚本导出到另一个
- javascript - 使用事件委托突出显示表格中的单元格
- sql - SQL查找具有最大日期的项目
- flutter - Flutter StreamController 返回重复数据
- google-apps-script - 无论如何循环浏览Google云端硬盘中特定文件夹中的所有电子表格?
- go - 我想通过将文件名作为用户输入来读取文件
- font-awesome-5 - 自定义 Fontawesome SVG 图标集
- python - 如何修复 Python 中的“无法从 'api' 导入名称 'get_seomoz_data'”错误