我的课程:
public class Foo
{
public override string ToString()
{
return "Bar";
}
public string ToString(params int[] values)
{
return "Buz";
}
public void DoFoo()
{
}
public void DoFoo(params int[] values)
{
}
}
在类型ToString()
的表达式上调用Foo
时,编译器选择带params
的重载(传递空int数组)。但是,当我调用DoFoo()
时,它会按预期选择没有params
的重载。是什么原因?