我应该何时在现实项目中使用方法重载?

时间:2010-07-04 07:40:42

标签: c# .net

我应该在实时开发中何时使用方法重载,请提供一些链接。

4 个答案:

答案 0 :(得分:3)

方法重载是一种用于类设计的OOP技术。它与实时开发无关。

如果您询问方法重载的实际用途 - 这是一种有用的技术,您可以看到它在整个BCL中使用。

示例是一些Linq扩展方法,其中许多扩展方法都有多个重载(请参阅IEnumerable<T>)。

当根据参数(例如排序)以多种不同方式完成相同的操作时,最好使用方法重载。没有参数的重载可能会应用默认排序。具有排序顺序的重载将允许排序顺序,而另一个可能具有确定排序算法的Func委托。

答案 1 :(得分:1)

当多个方法具有相同的目的但启动它的方法不止一种时,使用(推荐)重载。

所以我们宁愿拥有

int Add(int a, int b) { ...}
int Add(int a, int b, int c) { ... }

int Add2(int a, int b) { ...}
int Add3(int a, int b, int c) { ... }

int Add(int a, int b, int? c) { ...}

最后一个例子也可以使用(C#4)可选参数完成。

超载的另一个好选择:

void ReadXml(string fileName) { ... }
void ReadXml(Stream strm) { .... }

答案 2 :(得分:0)

现在使用c#中的初始化器和命名参数之类的东西,它似乎并不是必要的。

答案 3 :(得分:0)

方法重载可能有用的一种情况是,如果您正在构建一些公共API。例如,ASP.NET MVC使用它来通过HTML帮助程序提供功能,您可以使用不同的参数多次重载相同的方法。