我原先有一种class, ex:
Class ToolA
{
public double CalToolData(double input, out double toolData)
public bool CalRes(List<double> toolDatas)
}
我现在要新增另一种变形,他的ToolData比较复杂, ex:
Class ToolB
{
public double CalToolData(double input, out ToolDataB toolDataB)
public bool CalRes(List<ToolDataB> toolDataBs)
}
Class ToolDataB
{
public int x;
public double y;
public string z;
}
我该如何用继承加入ToolB?
目前的想法是
Interface ITool
{
public double CalToolData(double input, out ToolData toolData)
public bool CalRes(List<ToolData> toolDatas)
}
abstract class ToolData
{}
class ToolA: ITool
{
实作
public double CalToolData(double input, out ToolData toolData)
public bool CalRes(List<ToolData> toolDatas)
//为了共用旧code保留方法
public double CalToolData(double input, out double toolData)
public bool CalRes(List<double> toolDatas)
}
class ToolDataA : ToolData
{
double tooldata;
}
class ToolB: ITool
{
实作
public double CalToolData(double input, out ToolData toolData)
public bool CalRes(List<ToolData> toolDatas)
}
class ToolDataB: ToolData
{
public int x;
public double y;
public string z;
}
请问是否有更好的写法?
另外,我在实做CalRes时,该如何转型成我要的type? ConvertAll?