The following code causes a compiler error, as it is ambiguous call but the problem if we use object
instead of ArrayList
no error happens and the string
version works fine; Do you have an explanation for that?
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);
}