¿Cómo implemento este delegado?
-
22-09-2019 - |
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?
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