Рассмотрим этот код:
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)
.
Почему компилятор имеет такое поведение?
Как я могу вызвать второй журнал со списком строк?