ho cercato di seguire alcuni esempi WCF Data Services e hanno il seguente codice:Dispatcher BeginInvoke Sintassi
private void OnSaveCompleted(IAsyncResult result)
{
Dispatcher.BeginInvoke(() =>
{
context.EndSaveChanges(result);
});
}
che è chiamato dal seguente:
this.context.BeginSaveChanges(SaveChangesOptions.Batch, this.OnSaveCompleted, null);
Ora mi stanno un po ' confuso qui. Innanzitutto, il primo bit di codice mostra un errore di sintassi di "Argument type lambda expression non è assegnabile al tipo di parametro System.Delegate". Quindi, invece di cercare ciecamente di seguire il codice di esempio, ho cercato di capire cosa stava succedendo qui. Sfortunatamente sto lottando per capire l'errore più ciò che sta realmente accadendo.
Mi sento un po 'stupido perché sono sicuro che sia facile.
Grazie in anticipo per qualsiasi chiarimento!
Grazie, ma ora sto ottenendo "Impossibile accedere al metodo non statico" BeginInvoke "in conte statico xt. Sono più confuso ora, in quanto questo non è un metodo statico? –
@Jon: pensa che tu stia cercando di utilizzare BeginInvoke come metodo statico sulla classe Dispatcher, mentre si desidera utilizzare la proprietà Dispatcher * e quindi chiamare BeginInvoke sull'istanza pertinente. La mia ipotesi è che questo non è in una classe appropriata con una proprietà Dispatcher. Avendo appena visto che questo è WCF, non sono sicuro di dove si possa ottenere un Dispatcher. Sono più abituato ad usarlo da WPF e Silverlight. –
Questo è in realtà su una classe ViewModel in un'applicazione WPF –