Come faccio a implementare questo delegato?
-
22-09-2019 - |
Domanda
Azione doesnt sembra sostenere stringa params [] come un param così ho scritto
delegate void WriteFn(string s, params string[] ls);
ho questa funzione
void blah(WriteFn Write, string fmt, params string[] a)
Ora vorrei scrivere una funzione, ma non posso sembrare calcolare la sintassi fuori. E 'qualcosa di simile
{
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
Come faccio a scrivere questo?
Soluzione
La tua domanda non è chiara. Dobbiamo supporre indovinare che sw
è un StreamWriter
? Se è così, sembra che questo dovrebbe funzionare:
blah((s, ls) => sw.Write(s, ls), fmt, a);
Altri suggerimenti
Credo che non si può fare questo perché liste di argomenti variabile è non compatibile con i metodi anonimi, in base al MSDN.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow