【发布时间】:2012-07-11 07:51:56
【问题描述】:
谁能帮我在任务之间传递变量?
我遇到了关于 Dispatcher.RunAsync() 的问题。我将变量 RssItem 声明为 RSSItem 的类型。 我正在尝试将 Dispatcher.RunAsync(...) 中的 await m_RSSReader.CreateRSSItem() 返回的 RssItem 的值传递到外部以分配 m_RssItemList.Add(RssItem);。
RSSItem RssItem;
// Save Individual RSS items as RSSItem
foreach (SyndicationItem item in CurrentFeed.Items)
{
//RssItem = new RSSItem();
// by using dispatcher, it resolves the issue of lagging UI
await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, async () =>
{
RssItem = await m_RSSReader.CreateRSSItem(item.Links[0].Uri, m_CurrentRSSDataGroup, item, CurrentFeed);
});
if (RssItem != null)
{
Debug.WriteLine("RssItem Title : {0}", RssItem.Title);
m_RssItemList.Add(RssItem);
}
}
[7/11/12] RSSItem 是我为存储而创建的一个类。我使用 Dispatcher.RunAsync() 来避免 UI 中断,方法 m_RSSReader.CreateRSSItem() 将返回我想要的类 (RSSItem RssItem)。但我需要将它传递到 Dispatcher 任务之外并将 RssItem 添加到列表中 (m_RssItemList.Add(RssItem)。但是我无法将 RssItem 传递到 Dispatcher 之外。
谢谢,
【问题讨论】:
-
到底是什么问题?你的代码是做什么的?
-
RSSItem 是我为存储而创建的一个类。我使用 Dispatcher.RunAsync() 来避免 UI 中断,方法 m_RSSReader.CreateRSSItem() 将返回我想要的类 (RSSItem RssItem)。但我需要将它传递到 Dispatcher 任务之外并将 RssItem 添加到列表中 (m_RssItemList.Add(RssItem)。但是我无法在 Dispatcher 之外传递 RssItem。
标签: c# asynchronous task dispatcher async-await