Pregunta

La acción no parece admitir la cadena de parámetros [] como un param, así que escribí

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

Tengo esta función

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

Ahora me gustaría escribir una función, pero parece que no puedo resolver la sintaxis. Es algo como

{
    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

¿Cómo escribo esto?

¿Fue útil?

Solución

Tu pregunta no está clara. ¿Se supone que debemos adivinar que sw es un StreamWriter? Si es así, parece que esto funcionaría:

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

Otros consejos

Creo que no puedes hacer esto porque las listas de argumentos variables son NO compatible con métodos anónimos, según MSDN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top