Как вы знаете, C# поддерживает VARIADIC методы через params
ключевого слова:Распаковка массива в аргументы метода
int Add(params int[] xs) {
return xs.Sum();
}
, который затем может быть вызвана с любым числом аргументов вы хотите:
Add(1);
Add(1, 2);
Add(1, 2, 3);
Но сказать Я хочу позвонить Add
с использованием массива int
s . Возможно ли это и как (желательно без отражения)? Я попытался следующие, но они дали синтаксических ошибок (синтаксис был чистым угадывание):
var xs = new[] { 1, 2, 3 };
Add(xs...); // doesn't work; syntax error
Add(params xs); // doesn't work; syntax error
Мой фактический вариант использования отличается, но я думал, что этот пример будет менее сложным.
Что вы имеете в виду не работает? – antonijn
@ Ошибка синтаксиса. – 2013-02-20 15:29:05
http://stackoverflow.com/questions/36350/how-to-pass-a-single-object-to-a-params-object В этой ветке говорится, что она должна работать. Может ли упрощение что-то скрывать? –