Farklı bir iş parçacığında çalışacak bir şey zamanlamak için .NET'teki Görev çerçevesini kullanmak isterim. İşlem bittiğinde, kullanıcı arabirimindeki kullanıcı arabirimini güncelleştirmek için bir işlemle devam edin. (Ben çok henüz onunla oynamadım, bu yüzden bana çok tanıdık değil.) Burada C# Task.ContinueWith ile ilgili sorunlar
kodudur:Task<List<NewsItem>> fetchTask = new Task<List<NewsItem>>(() =>
{
List<NewsItem> items = Rss.FetchNewsItems(feed);
return items;
}).ContinueWith(x => UpdateNewsItems(x.Result),CancellationToken.None,TaskContinuationOptions.None,scheduler);
private void UpdateNewsItems(List<NewsItem> items)
{
...
}
örtülü dönüştürülemez tipi 'System.Threading.Tasks.Task' için 'System.Threading.Tasks.Task < System.Collections.Generic.List <Spark.Models.NewsItem> >'. Açık dönüştürme
Ben görev listesi <NewsItem> jenerik imza kullanmak eğer benim yöntemine geçmek böylece Task.Result ... Ben ne yapıyorum bu tür iade edeceğini düşündük var burada yanlış mı?
async/await bu sorunu kolayca çözebilir. –
Evet, bunu yazdığım zaman dışarı çıkmadı. – Kelly