我有这个测试代码:
void func1(string a, params string[] p)
{
func1(a, true, p);
}
void func1(string a, bool b, params string[] p)
{
//...
}
void func2(string a, bool b = true, params string[] p)
{
//...
}
void exec()
{
func1("a", "p1", "p2");
func2("a", "p1", "p2");
}
是func1
和func2
等于?
创建时没有错误func2
,但是,当我尝试func2
在 exec 中使用 like (使用可选值)时,编译器会显示错误This function has some invalid arguments
。
我认为这对于像 API 一样使用这个函数的人来说是平等的func1
。func2
这段代码有什么问题?我可以将此方法用于具有可选和参数值的函数吗?