我有这两个功能
public static string Function1 (string id, params string[])
{
return Function1(id, null, null, params)
}
public static string Function1 (string id, string id2, Object a, params string[])
{
string id = id,
if (IsValidId(id))
{
start = new ProcessStartInfo();
start.Arguments = params;
if (string.IsNullOrEmpty(id2)==false)
{
start.RedirectStandardOutput = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我进行以下调用时,我想使用第二个重载
MyStaticClaass.Function1(
input1,
input2,
null, // (This one represents the Object)
input3,
input4,
input5);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以强制它转到方法的第二个定义?
我遇到的编译错误是:这个调用在以下方法或属性之间是不明确的:(然后是上面的两个方法)
PS:我没有选择这两个功能.我不能改变他们的签名或他们的名字.
您可以使用Named arguments过载特定功能
Program.Function1(
id: input1,
id2: input2,
o:null,
array: new string[] {input3,
input4,
input5});
Run Code Online (Sandbox Code Playgroud)
它会击中这个功能
public static string Function1 (string id, string id2, Object o, params string[] array)
{
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,您可以查看此命名参数
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |