Dispatcher.BeginInvoke C#中的代码路径错误#
问题描述:
我在一段我正在开发的软件中存在一点代码问题。Dispatcher.BeginInvoke C#中的代码路径错误#
this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, new System.Windows.Threading.DispatcherOperationCallback(delegate
{
AccountSyncOptions getData = new AccountSyncOptions(syncProgress, lblStatus, tblLogins, cboFilter, searching, searchString, btnClearSearch);
getData.retrieveLocalData();
getData.retrieveOnlineData();
}), null);
当我把上面的代码中出现一个错误,其说System.Windows.Threading.DispatcherOperationCallBack“并非所有的代码路径在类型的匿名方法返回一个值”。
答
的DispatcherOperationCallback
委托的签名是
public delegate Object DispatcherOperationCallback(
Object arg
)
所以,你需要从你的匿名方法返回一个对象:
this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Background, new System.Windows.Threading.DispatcherOperationCallback(delegate
{
AccountSyncOptions getData = new AccountSyncOptions(syncProgress, lblStatus, tblLogins, cboFilter, searching, searchString, btnClearSearch);
getData.retrieveLocalData();
getData.retrieveOnlineData();
return null;
}), null);
感谢您的帮助 – Boardy 2011-02-05 18:43:21