Не соответствует правильной перегрузке в C# [дубликат]C#

Место общения программистов C#
Ответить
Anonymous
 Не соответствует правильной перегрузке в C# [дубликат]

Сообщение Anonymous »

У меня есть следующая программа

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class Program
{

public static string Foo(params T[] items)
{
return "A";
}

public static string Foo(IEnumerable items)
{
return "B";
}

static void Main()
{
List items = new List(){0,1,23};

Console.WriteLine(Foo(items));
Console.WriteLine(Foo("XXX"));

}
}
который выводит
а не
Учитывая, что List является подклассом IEnumerable, почему форма общих параметров ранее совпадает с компилятором и дает неожиданный ответ.

Подробнее здесь: https://stackoverflow.com/questions/183 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»