我知道通過使用ref
關鍵字,可以在方法中引用另一個對象。在該方法內部的以下示例中創建的對象也可用於該方法之外。如何保留對當前對象中另一個對象的引用
public Method(ref OtherClass input)
{
input = new OtherClass();
}
但我需要領先一步。我需要將引用作爲屬性保留在對象中,並且在將來需要其他方法時隨時更改原始對象。
public class CLass1
{
OtherClass _input;
public Bind(ref OtherClass input)
{
input = new OtherClass(); // instantiating the object
_input = input; // keeping a reference of the created object for later usage!
}
public void Unbind()
{
_input = null;
}
}
當我Bind
對象有一個新的對象初始化原始對象,這正是我想要的。但在此之後,我運行Unbind()
只有_ input
變爲空,並且input
保持不變。我需要的input
也變爲空!這怎麼可能?
有時全局變量是緩解壓力的那麼有用.....(開個玩笑,我不認爲這是可能的,讓我們來看看,如果有人有治癒) – Steve
這是不可能的,因爲這樣,你會必須有某種事件系統,或者使用這個類的屬性來實現這一點。 –
請看這裏http://stackoverflow.com/a/7253417/3888877 –