【发布时间】:2019-04-23 20:58:15
【问题描述】:
我最近发现你可以定义多个具有相同名称的方法,只要它们的参数不同(我相信它被称为方法重载)。例如,在一个脚本中,我有一个名为getDate(int date) 的方法和另一个名为getDate() 的方法。这些方法之间的唯一区别是不接受参数的方法使用类中定义的静态整数而不是date 参数。
我在课堂上至少有 5 种不同的方法使用了这个逻辑,但是像这样复制代码似乎很麻烦。有没有更优雅的解决方案?
【问题讨论】:
-
请向我们展示您询问的代码。代码描述并没有那么有用,因为它们留下了太多的想象空间,而且往往不完整或不准确。
-
public DateTime getDate() { return getDate(staticInt); }怎么样?这将通过调用参数重用重载,而不是复制代码。无论如何,您可能应该发布您的代码,以便我们可以准确地看到我们在这里处理的内容,魔鬼在细节中等等。 -
@LasseVågsætherKarlsen 伙计,这太简单了,正是我所需要的!非常感谢。
标签: c# unity3d methods overloading code-duplication