Question

doesnt d'action semblent soutenir chaîne params [] comme param donc j'écrit

delegate void WriteFn(string s, params string[] ls);

i ont cette fonction

void blah(WriteFn Write, string fmt, params string[] a)

Maintenant, je voudrais écrire une fonction, mais je ne peux pas sembler figurer la syntaxe dehors. Ce quelque chose comme

{
    var sw = ...
    blah(new WriteFn(s, ls) { sw.write(s, ls); }, fmt, a);
    //not what i want to do but close enough. remember sw isnt a param in WriteFn

Comment puis-je écrire cela?

Était-ce utile?

La solution

Votre question est pas claire. Est-ce que l'on suppose de deviner que sw est un StreamWriter? Si oui, il semble que cela fonctionnerait:

blah((s, ls) => sw.Write(s, ls), fmt, a);

Autres conseils

Je pense que vous ne pouvez pas le faire parce que les listes d'arguments variables est pas compatible avec les méthodes anonymes, selon MSDN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top