我有以下代码:
public static void AssertTdsExist(this RemoteWebDriver driver, string id, params string[] tds)
{
...
}
public static void AssertTdsExist(this RemoteWebDriver driver, params string[] tds)
{
...
}
现在当我Driver.AssertTdsExist("pol_imp");
时,会调用第一个方法。但我想调用第二种方法。
我应该如何更改此代码才能使其正常工作?
答案 0 :(得分:2)
您可以在字符串数组中提供参数:
Driver.AssertTdsExist(new string[] { "pol_imp" });
这只与第二种方法相匹配。
答案 1 :(得分:1)
你最容易做的就是不要改变任何东西,只需用命名参数调用你的方法,这样就没有歧义:
// assuming you retrieve your params from somewhere
var tdsArray = new string[] {"pol_imp"};
var myDriver = GetDriver();
var myId = GetId();
myDriver.AssertTdsExist(tds: tdsArray);
// or this, to call the other method
myDriver.AssertTdsExist(tds: tdsArray, id: myId);
答案 2 :(得分:1)
您可以将字符串ID更改为StringBuilder,以使它们彼此不同......就像这样
public static void AssertTdsExist(此RemoteWebDriver驱动程序,StringBuilder id,params string [] tds) { ... }
public static void AssertTdsExist(此RemoteWebDriver驱动程序,params string [] tds) { ... }