我得到"此代码的非静态字段,方法或属性'System.Windows.Threading.Dispatcher.BeginInvoke(System.Action)'"需要对象引用.
private void ResponseCompleted(IAsyncResult result)
{
HttpWebRequest request = result.AsyncState as HttpWebRequest;
HttpWebResponse response = request.EndGetResponse(result) as HttpWebResponse;
using (StreamReader sr = new StreamReader(response.GetResponseStream()))
{
Dispatcher.BeginInvoke( () => {
try
{
XDocument resultsXml = XDocument.Load(sr);
QueryCompleted(new QueryCompletedEventArgs(resultsXml));
}
catch (XmlException e)
{
XDocument errorXml = new XDocument(new XElement("error", e.Message));
QueryCompleted(new QueryCompletedEventArgs(errorXml));
}
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
Abh*_*Oza 21
自从针对这个问题发布了最后一个答案后,情况发生了一些变化.
System.Windows.Threading.Dispatcher.BeginInvoke就是现在Deployment.Current.Dispatcher.BeginInvoke
Zac*_*son 18
该错误表示您需要一个Dispatcher要调用的实例,BeginInvoke因为它是一个实例方法.获得该实例的位置取决于您要拨打电话的位置.
也许您可以尝试使用static属性Dispatcher.CurrentDispatcher来获取当前线程的调度程序实例,然后调用BeginInvoke该实例.从您要调用的特定线程获取或以某种方式从您的方法获取调度程序实例.
| 归档时间: |
|
| 查看次数: |
19884 次 |
| 最近记录: |