我最近发现,只要它们的参数不同,就可以用相同的名称定义多个方法(我相信这称为方法重载)。因此,例如,在脚本中,我有一个名为getDate(int date)
的方法和另一个名为getDate()
的方法。这些方法之间的唯一区别是,不接受参数的方法使用的是在类中定义的静态整数,而不是date
参数。
我已经在该类中的至少5种不同的方法上使用了此逻辑,但是复制这样的代码似乎很麻烦。有没有更优雅的解决方案?
答案 0 :(得分:1)
通常,最好拥有一个功能来完成您要实现的目标,而另一个功能(或互相调用)以避免重复实际的逻辑。
我将使用您的示例:
Date GetDate(int date) {
// -- do whatever you do here
return DoAThing(date);
}
Date GetDate() {
return GetDate(staticVar);
}
这样,如果您想更改日期的获取方式,则不必在多个地方更改代码,并且在修改GetDate(int date)
时,调用该日期的其他函数将完全照应
答案 1 :(得分:-1)
只需根据需要调用这些方法,例如
//To Get the Date normally
DateTime date = getDate();
//Otherwise
date = getDate(1, DateTime.Today);
调用它们应该没有问题。他们应该团结一致正确地重载,因为我已经用编辑器对其进行了检查。