ご存知のように、C#はparams
キーワードを通じて可変個引数メソッドをサポートしています。
int Add(params int[] xs) {
return xs.Sum();
}
次に、任意の数の引数を使用して呼び出すことができます。
Add(1);
Add(1, 2);
Add(1, 2, 3);
しかし、 s1のAdd
配列を使用して呼び出したいとしましょう。これは可能であり、どのように(できれば反射なしで)可能ですか?次のことを試しましたが、構文エラーが発生しました(構文は純粋に推測でした)。int
var xs = new[] { 1, 2, 3 };
Add(xs...); // doesn't work; syntax error
Add(params xs); // doesn't work; syntax error
1実際のユースケースは異なりますが、この例はそれほど複雑ではないと思いました。