2010-10-27 6 views
1

J'appelle une fonction qui prend la même forme que string.format où le premier paramètre est une chaîne et le reste sont les valeurs de remplacement. J'ai la chaîne dans une variable et les valeurs de remplacement dans un tableau, comment puis-je appeler cette fonction donnée un nombre quelconque d'objets dans le tableau? Passer simplement dans le tableau comme le dernier argument ne fonctionne pas.Passer un tableau en tant que valeurs individuelles aux paramètres

+0

Montrez-nous ce que vous avez essayé ... –

+0

Avez-vous écrit la fonction d'appel? Est-ce qu'il prend N paramètres ou juste un paramètre de tableau? –

+0

Passer les variables en tableau devrait fonctionner. Pourriez-vous ajouter le code s'il vous plaît? –

Répondre

0

La fonction que j'appelle a la signature

public static IQueryable Where(this IQueryable source, string predicate, params object[] values) 

question Thhe était que je passais dans un tableau de ints que le dernier paramètre. Quand j'ai créé un nouveau tableau d'objets peuplés à partir de ce tableau initial et l'ai passé dedans travaillé. Merci pour les réponses

9

Utilisez le mot-clé params:

public string MyMethod(string value, params object[] args) 
{ 
    // as an example 
    return string.Format(value, args); 
} 

Ensuite, vous pouvez l'appeler soit avec des valeurs individuelles

MyMethod("Test", "value1", "value2"); 

Ou avec un tableau

MyMethod("Test", new [] { "value1", "value2" }); 
Questions connexes