Как вы знаете, C# поддерживает методы с переменным числом аргументов через ключевое слово params
:
int Add(params int[] xs) {
return xs.Sum();
}
Который затем может быть вызван с любым количеством аргументов, которые вам нравятся:
Add(1);
Add(1, 2);
Add(1, 2, 3);
Но скажем, я хочу вызвать Add
, используя массив int
s1. Возможно ли это и как (желательно без рефлексии)? Я попробовал следующее, но они выдали синтаксические ошибки (синтаксис был чистым предположением):
var xs = new[] { 1, 2, 3 };
Add(xs...); // doesn't work; syntax error
Add(params xs); // doesn't work; syntax error
1 Мой фактический вариант использования отличается, но я подумал, что этот пример будет менее сложным.
void
) - person DROP TABLE users   schedule 20.02.2013Add
с массивомint
. - person Ryszard Dżegan   schedule 20.02.2013void
и хотите ли вернутьint
? - person Soner Gönül   schedule 20.02.2013