【发布时间】:2012-06-13 17:17:20
【问题描述】:
我有 3 种方法。
1 方法持有 3000 的值 1个方法持有0.13的值
我已经创建了另一种方法,我想将这两个数字相乘。
public override int FishPerTank()
{
return 3000;
}
public override double WeightOut(double weightOut, double weightIn)
{
return 0.13;
}
public override int HowMuchTheFishWeighOutKG()
{
return (FishPerTank() * WeightOut());
}
我在这里收到有关 WeightOut 的语法错误:
public override int HowMuchTheFishWeighOutKG()
{
return (FishPerTank() * WeightOut());
}
【问题讨论】:
-
@ClaudioRedi 是正确的。另外,请注意您乘以双精度 (WeightOut),然后返回一个整数。您会丢失小数位(不确定这是否是您想要的结果)。
-
出于好奇....你为什么要使用覆盖。这些特定方法是否作为虚拟方法存在于某些基类中,因此需要使用您的类的自定义版本来覆盖它们?
-
@JasonDown - 他不会达到失去精度的地步。他会得到一个编译错误,因为没有从 double 到 int 的隐式转换。
-
@hatchet:是的,你是对的......隐式转换反过来存在。我想是时候喝杯咖啡了……
标签: c# winforms overloading