将指针指向其他类的子类

时间:2014-02-27 17:21:12

标签: c# .net unity3d parse-platform

我想将Pins中的一个Class子类化为其他类的指针。

这是我的班级:

using UnityEngine; 
using System.Collections; 
using System.Collections.Generic; 
using Parse; 
using System.Threading.Tasks;

[ParseClassName("UserCars")] public class UserCars : ParseObject {

[ParseFieldName("car")]
public Car car
{
    get { return GetProperty<Car>("car"); }
    set { SetProperty<Car>(value, "car"); }
}

[ParseFieldName("isBumpers")]
public bool isBumpers
{
    get { return GetProperty<bool>("isBumpers"); }
    set { SetProperty<bool>(value, "isBumpers"); }
}   

当我执行此查询时,isBumpers会返回准确的bool值,但car始终为null:

var query = new ParseQuery<UserCars>();

    query.WhereEqualTo("user", ParseUser.CurrentUser);
    query.FindAsync().ContinueWith(t =>
                                   {
        IEnumerable<UserCars> userCars = t.Result;

        foreach (UserCars u in userCars)
        {
            Debug.Log(u.car);
        }
});

我尝试添加此内容而不做任何更改:

IEnumerable<UserCars> userCars = t.Result;

foreach (UserCars u in userCars)
{
    Task<Car> fCar = u.car.FetchIfNeededAsync();
    Debug.Log(u.car); 
}

我错过了什么?

1 个答案:

答案 0 :(得分:1)

fCar是一个任务,所以基本上你应该等待它完成。

请尝试改写:

foreach (UserCars u in userCars )
{
    u.car.FetchIfNeededAsync().ContinueWith(result =>
    {
        Debug.Log(u.car);
    };
}

这将确保您等待正确获取数据。