使用getFields确保已设置所有字段。 getValue返回null但我无法将其与null进行比较

时间:2014-03-07 20:33:00

标签: c# reflection unity3d

这是问题

public bool Invalid()
    {
        foreach (FieldInfo fInfo in this.GetType().GetFields())
        {
            Debug.Log(fInfo.GetValue(this))          //Log Says null
            Debug.Log(fInfo.GetValue(this) == null); //Log says false
            if (fInfo.GetValue(this) == null) return true; //so this gets skipped
        }
        return false;
    }

这个类中的对象主要是GameObject(unity)。我只是试图确保与我合作的关卡设计师知道他们是否错过了场景中所需的GameObject。

1 个答案:

答案 0 :(得分:0)

我的猜测是:

.Log()可能接受对象并执行.ToString()..所以有可能返回一个对象,但.ToString()是返回null的。