如何使用C#中的引用从构造函数分配对象

时间:2019-04-27 04:25:06

标签: c# reference ref out

共有3个班级。

控制器类正在运行一个模块,该模块将对象分配给名为_goCharacter的变量。

Center类是中央类,旨在处理Interaction类。

我们要在交互类中解决的_goCharacter对象是控制器中的对象。

问题在于_goCharacter对象最初为null,并且将来会继续更改。

所以我总是将它们分配给中心类,但这似乎对性能没有好处。

我发现,如果我使用ref和out来分配引用,则可以将其用作引用,而不必每次都重新分配它。

请告诉我该怎么做。

class Controller{
    public GameObject _goCharacter = null;


   void func(){   // Objects are assigned while other modules are running.
        _goCharacter = .....
        // Assign an object to the _goCharacter.
    }

}


class Center{

    private GameObject _goCharacter;
    private Interaction interaction;

    void Start(){
        interaction = new Interaction();
    }
    void Update(){

        _goCharacter = Controller.GetComponent<Controller>()._goCharacter; 
        interaction.setObject(_goCharacter);      // Reallocate each time.
        interaction.func2();
    }

}


class Interaction{
    private GameObject _goCharacter; 

    public Interaction(){

    }

    public Interaction(GameObject _goCharacter){
        this._goCharacter = _goCharacter;    
    }

    public void setObject(){
        this._goCharacter = _goCharacter;    
    }

    public func2(){
        // Function dealing with _goCharacter
    }
}

0 个答案:

没有答案