簡體   English   中英

獲取創建類的對象的實例

[英]Get the instance of the object that created a class

有沒有辦法獲取創建該類的類的實例?

例如,我有以下示例:

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某種邏輯。

除了您建議的兩種方式,我認為沒有其他方法。

我會做它作為一個構造函數參數, 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);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM