Comme vous le savez C# prend en charge les méthodes variadique par le mot-clé params
:Déballer un tableau dans les arguments de méthode
int Add(params int[] xs) {
return xs.Sum();
}
qui peut alors être appelé avec un certain nombre d'arguments que vous voulez:
Add(1);
Add(1, 2);
Add(1, 2, 3);
Mais disent Je veux appeler Add
en utilisant un tableau de int
s . Est-ce possible et comment (de préférence sans réflexion)? J'ai essayé les éléments suivants, mais ils nous ont donné des erreurs de syntaxe (la syntaxe était pure devinette):
var xs = new[] { 1, 2, 3 };
Add(xs...); // doesn't work; syntax error
Add(params xs); // doesn't work; syntax error
Mon cas d'utilisation réelle est différente, mais je pensais que cet exemple serait moins compliqué.
Que voulez-vous dire par ne fonctionne pas? – antonijn
Erreur de syntaxe @Antonijn. –
http://stackoverflow.com/questions/36350/how-to-pass-a-single-object-to-a-params-object Ce fil dit que cela devrait fonctionner. La simplification pourrait-elle cacher quelque chose? –