C#统一>;在父类中访问游戏对象

C#统一>;在父类中访问游戏对象,c#,inheritance,unity3d,C#,Inheritance,Unity3d,这个问题可能更为统一,而不是具体的C。试图将当前游戏对象的引用传递给父类 获取以下错误 只能从主线程调用Internal\u CreateGameObject。 这是我孩子课堂上的相关代码 public override void Start() { init("green", gameObject); } public override void init(string classRef, GameObject go) { ba

这个问题可能更为统一,而不是具体的C。试图将当前游戏对象的引用传递给父类

获取以下错误

只能从主线程调用Internal\u CreateGameObject。

这是我孩子课堂上的相关代码

 public override void Start()
    {
       init("green", gameObject);
    }

    public override void init(string classRef, GameObject go)
    {
        base.init(classRef, go);
        Debug.Log("init " + classRef);
    }
在我的家长班

virtual public void init(string classRef, GameObject go)
    {
        _wallRef = classRef;

        _go = go;
    }

我的逻辑怎么了?甚至有必要将当前游戏对象的引用传递给具有统一继承(MonoBehavior)的父类吗?

我看不到完整的代码,但您的父类是否继承自主类?

是否确定“只能从主线程调用”。这与您的问题无关?在你的帖子中没有显示任何与线程相关的内容……在C#Unity中,你通常从MonoBehavior继承,尽管你可以创建完全独立于编辑器的独立类。呃,你有子类,父类子类必须从父类继承,对吗?我的问题与继承无关,而是无法从计时器处理程序访问主线程。我在发布另一个问题。如果你想使用重写函数,你必须从使用“虚拟”字的类继承