今天我遇到了一个场景,我必须创建一个与现有方法共享相同的名称、参数计数和参数类型
的方法,如下所示:
public static Department GetDepartment(string departmentName)
{
//LOGIC
}
public static Department GetDepartment(string employeeID)
{
//LOGIC
}
乍一看我只是说为什么不换个名字把事情搞定,但我做不到!我确实想保持我正在处理的代码的可读性,我希望它重载
到第一个,
所以我说为什么不添加一个假参数只是为了从编译器的角度解决这个问题。
public static Department GetDepartment(string employeeID, object fakePassWtEver)
{
//LOGIC
}
这种情况下的最佳做法是什么?我看到了所有可以让我的代码运行的方法,但是没有一个让我满意
最佳答案
保持可读性正是您应该重命名它的原因:
Department GetDepartmentByName(...)
Department GetDepartmentByEmployeeID(...)
现在无论何时您调用该方法,绝对显而易见您指的是哪一个。如果您改为重载该方法,情况就不是了。
随着时间的推移,我越来越不愿意重载 - 有 quite a few subtle issues ,可读性经常下降。
关于c# - 定义两个具有相同参数类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858838/