Sto provando a chiamare System.Windows.Threading.Dispatcher.BeginInvoke
. La firma del metodo è questo:Dispatcher.BeginInvoke: impossibile convertire lambda in System.Delegate
BeginInvoke(Delegate method, params object[] args)
Sto cercando di passare un lambda invece di dover creare un delegato.
_dispatcher.BeginInvoke((sender) => { DoSomething(); }, new object[] { this });
E mi sta dando un errore del compilatore dicendo che non posso convertire il lambda ad uno System.Delegate. La firma del delegato prende un oggetto come parametro e restituisce void. Il mio lambda corrisponde a questo, ma non funziona. Cosa mi manca?
E 'una matrice 'params'. – SLaks
Ma does (x) => {DoSomething(); } corrisponde alla firma del delegato? Pensavo che fosse tutto ciò che avrei dovuto specificare. – Micah
@Micah: System.Delegate non ha una firma - è solo "qualsiasi delegato". È necessario fornirgli un tipo di delegato con un sig. che corrisponde al tuo utilizzo. –