【发布时间】:2011-10-15 02:08:02
【问题描述】:
今天我遇到了一种情况,我必须创建一个与现有方法共享相同 name, params count and params types 的方法,如下所示:
public static Department GetDepartment(string departmentName)
{
//LOGIC
}
public static Department GetDepartment(string employeeID)
{
//LOGIC
}
乍一看,我只是说为什么不给它起一个不同的名字并把事情做好,但我做不到!我确实想保持我正在处理的代码的可读性,我希望它是overloaded 第一个,
所以我说为什么不添加一个假参数只是为了从编译器的角度解决这个问题。
public static Department GetDepartment(string employeeID, object fakePassWtEver)
{
//LOGIC
}
这种情况的最佳做法是什么?我看到了所有可以让我的代码运行的方法,但没有一个让我满意
【问题讨论】:
-
假参数的想法真的很糟糕......拥有多个具有相同名称的方法参数类型应该不同,你可以有一个字符串和一个对象,但这也不好,因为每次您将传递一个不会调用带有 object 的字符串...正如 Jon 建议的那样,始终使用两个不同的方法名称,您不能拥有适当不同的参数类型...
-
投反对票对我来说是可以的,因为它与评论相关联!问你的想法有错吗..
标签: c# .net methods parameters overloading