以下代码会导致编译器错误,因为它是模棱两可的调用,但如果我们使用object
而不是ArrayList
没有错误发生问题并且string
版本工作正常;你对此有什么解释吗?
class A
{
public A(string x)
{
Console.WriteLine("string");
}
public A(ArrayList x)
{
Console.WriteLine("ArrayList");
}
}
static void Main(string[] args)
{
A o = new A(null);
}