0

我有一个模型:

public class News
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Body { get; set; }
    public ObservableCollection<Comment> Comments { get; set; }
}

public class Comment
{
    public int CommentId {get;set;}
    public string CommentTitle{get;set;}
    public string CommentBody{get;set;}
}


public class APIData()
{

    public async Task<News> myNews()
    {
    var result = new News()
    /// GET xmlDATA

    var objComments = new ObservableCollection<Comment>();
    foreach(x in xmlData)
    {
        var objComment = new Comment();
    ////////////
        objComments.Add(objComment);
    }
    result.Comments = objComments;
    return result;
}

当我尝试使用它访问它时,api.myNews().Comments;我得到错误提示;

System.Threading.Tasks.Task 不包含 Comments 的定义,并且没有扩展方法接受 System.Threading.Tasks.Task 类型的第一个参数。

请告诉我。关于这个问题。

4

1 回答 1

3

该方法将返回Task不包含名为 的属性Comments

您需要awaitTask

var news = await api.myNews();
var comments = news.Comments;

如果方法context不是async那么使用Result.

var newsTask = api.myNews();
var comments = news.Result.Comments;
于 2013-10-11T12:23:36.357 回答