タスク間で変数を渡すのを手伝ってくれる人はいますか?
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 の外に渡すのに問題があります。
ありがとうございました、