c# - 对具有指向其他类的指针的类进行子类化

标签 c# .net unity3d parse-platform

我想在 Parse 中子类化一个具有指向其他类的指针的类。

这是我的类(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); 
}

我错过了什么?

最佳答案

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

试着这样写:

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

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

关于c# - 对具有指向其他类的指针的类进行子类化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22075695/

相关文章:

c# - '检测到没有 [Pure] 的方法调用'......但是 Pure 在那里

c# - 是否可以在浏览器上运行 WPF 应用程序?

c# - 统一错误 : InitWWW can only be called from the main thread

c# - 实例化和销毁 Unity3D

c# - 如何将 C# 代码转换为 C++

java - Nest 聚合搜索请求

c# - Azure Blob 存储 SAS token 未正确形成 .NET

asp.net - 在 asp.net 中设置背景图片(母版页)

c# - 从异步方法返回输出时推荐的方法签名?

unity3d - 如何在Unity3d中删除切片的 Sprite