C# 从传递实例到构造函数的Null引用

C# 从传递实例到构造函数的Null引用,c#,constructor,null,C#,Constructor,Null,我有两门课: public class Agent : MonoBehaviour { private FSM brain; void Start () { //Create the FSM that will control this agent brain = new FSM (this); } } 所以我有一个空的游戏对象,上面有代理脚本。当程序启动时,代理脚本实例化一个新的FSM类。在FSM构造函数中,它调试代理,但

我有两门课:

public class Agent : MonoBehaviour 
{
    private FSM brain;

    void Start ()
    {
        //Create the FSM that will control this agent
        brain = new FSM (this);
    }
}

所以我有一个空的游戏对象,上面有代理脚本。当程序启动时,代理脚本实例化一个新的FSM类。在FSM构造函数中,它调试代理,但始终返回null


那么,如何将代理类传递给FSM类,以便它们能够相互通信呢

还有别的事情。假设您在
Agent
上调用
Start
,它看起来很正常。这不会重现。演示如何调用对象。在游戏运行的第一帧调用Start。我相信这是一个统一的功能(这是一个统一的游戏)。因此,为definite调用Start,调用FSM的构造函数,因为我看到了构造函数中的调试消息。是什么一直返回null?这是有问题的代码还是您认为有问题的代码?尝试放置一个断点。
public class FSM
{
    //Agent this FSM is attached to
    private Agent agent;

    //Constructor
    public FSM (Agent FSMOwner)
    {
        agent = FSMOwner;
        Debug.Log (agent);
    }
}