Рассмотрим этот код:
static void Main(string[] args)
{
Log("Test");//Call Log(object obj)
Log(new List<string>{"Test","Test2"});;//Also Call Log(object obj)
}
public static void Log(object obj)
{
Console.WriteLine(obj);
}
public static void Log(List<object> objects)
{
foreach (var obj in objects)
{
Console.WriteLine(obj);
}
}
В первой строке я вызываю журнал со строковым значением, и он вызывает Log(object obj), но во второй строке я вызываю Log со списком строки new List<string>{"Test","Test2"}, но компилятор вызывает Log(object obj) вместо Log(List<object> objects).
Почему компилятор имеет такое поведение?
Как я могу вызвать второй журнал со списком строк?