获取创建类的对象的实例

时间:2017-07-15 21:29:27

标签: c# unity3d

有没有办法获取创建类的类的实例?

例如,我有以下示例:

public class MyClass {
    private GameObject initiator;

    public MyClass(){
        initiator = // Get the value here
    }
}

然后,此课程会从上方创建new MyClassinitiator,并将MyInitiator的实例存储在initiator中。

public class MyInitiator : MonoBehaviour {
    void Start() {
        new MyClass();
    }
}

我知道我可以将this作为参数传递或创建属性并将其设置为这样,但我希望避免这样做,并让它自动执行或使用某种逻辑如果可能,请在MyClass内。

1 个答案:

答案 0 :(得分:0)

我认为除了你建议的两种方式之外还有其他任何方式。

我会使用this作为构造函数参数,并使用方法创建一个新实例,如下所示:

public class MyClass
{
    private GameObject initiator;

    public MyClass(GameObject initiator)
    {
        this.initiator = initiator;
    }
}

public class MyInitiator : MonoBehaviour
{
    void Start()
    {
        MyClass first = NewMyClass();
        MyClass second = NewMyClass();
        // ...
    }

    private MyClass NewMyClass()
    {
        return new MyClass(this);
    }
}