Я знаю, что это может быть ссылка на другой объект в методе с использованием ключевого слова 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 –