我一直在試圖遵循一些WCF數據服務的實例並具有以下代碼:調度BeginInvoke的語法
private void OnSaveCompleted(IAsyncResult result)
{
Dispatcher.BeginInvoke(() =>
{
context.EndSaveChanges(result);
});
}
這是由所謂的以下內容:
this.context.BeginSaveChanges(SaveChangesOptions.Batch, this.OnSaveCompleted, null);
現在我開始有點困惑在這裏。首先,第一位代碼顯示語法錯誤「參數類型lambda表達式不能分配給參數類型System.Delegate」。因此,我不是盲目地試圖遵循示例代碼,而是試圖瞭解這裏發生了什麼。不幸的是,我正在努力理解錯誤以及實際發生的事情。
我覺得有點愚蠢,因爲我確信這很容易。
在此先感謝您的任何啓示!
謝謝,但現在我我正在獲取「靜態角色中無法訪問非靜態方法'BeginInvoke' XT。我現在更困惑,因爲這不是一個靜態的方法? – 2010-09-21 13:51:45
@Jon:它認爲你正在嘗試使用BeginInvoke作爲Dispatcher類的靜態方法 - 而你想使用Dispatcher *屬性*,然後在相關實例上調用BeginInvoke。我的猜測是,這不是在具有Dispatcher屬性的適當類中。剛剛看到這是WCF,我不確定從哪裏得到Dispatcher。我更習慣於從WPF和Silverlight中使用它。 – 2010-09-21 14:05:56
這實際上在WPF應用程序的ViewModel類中 – 2010-09-21 14:16:44