4

次のコード スニペットは、理解しにくいコンパイル エラーを引き起こしています。

エラー 1 System.Collections.Generic.List'<BusinessLogic.News>' を待機できません

助言がありますか?

public class NewsController : Controller
{
    public async Task<ActionResult> Index(int page=1)
    {
        NewsNavigator News = new NewsNavigator();
        await News.Load(page);
        ...

        return View(News);
    }
}



    public List<News> Load(int page = DefaultPage, int pageSize = DefaultPageSize, string filter = DefaultFilter)
    {
        //DBLayer_News
        ...
        return LoadedNews;
    }
4

1 に答える 1

7

Await は、Task を返すメソッド呼び出しの結果に適用されます。

News はタスクではないため、News で呼び出すことはできません。Task を作成し、News.Load メソッドをそれに渡します。

NewsNavigator News = new NewsNavigator();
var newsLoadTask = Task.Factory.StartNew(() => News.Load(page));
await newsLoadTask;
...
于 2012-04-28T05:05:28.257 に答える