我已经学会了在仓库中延迟加载属性。现在我想这样做,但我还需要从网页(使用Httpclient)加载一些内容,这意味着我的属性将是异步的。
public async Task<List<NewsModel>> News
{
get
{
if (_news == null)
{
CacheProvider cache = new CacheProvider();
object cachedNews = cache.Get("news");
if (cachedNews == null)
{
var client = new HttpClient();
// await HttpResponse
}
}
return _news;
}
set
{
_news = value;
}
}
然而,Visual Studio告诉我:
"此项不支持修饰符async"
并在第一行中突出显示单词“News”。
这样做有可能吗?还是我必须编写一个单独的方法?