Согласно документации Microsoft по функциям C# 13, коллекции параметров можно использовать с типами, реализующими IEnumerable и имеющими метод Add. Однако я заметил, что могу использовать IReadOnlyCollection в аргументе params, хотя IReadOnlyCollection не имеет метода Add.
Код: Выделить всё
void PrintNumbers(params IReadOnlyCollection numbers)
{
foreach (var num in numbers)
{
Console.WriteLine(num);
}
}
PrintNumbers(1, 2, 3, 4, 5);
Этот код работает, и я могу передавать отдельные целые числа в параметр params типа IReadOnlyCollection
Если у IReadOnlyCollection нет метода Add, как это разрешено в коллекции параметров?
Подробнее здесь:
https://stackoverflow.com/questions/790 ... tiont-does