Я пытаюсь понять, как назначить "ссылку" на поле класса в С#.
У меня есть следующий пример:
public class X
{
public X()
{
string example = "X";
new Y( ref example );
new Z( ref example );
System.Diagnostics.Debug.WriteLine( example );
}
}
public class Y
{
public Y( ref string example )
{
example += " (Updated By Y)";
}
}
public class Z
{
private string _Example;
public Z( ref string example )
{
this._Example = example;
this._Example += " (Updated By Z)";
}
}
var x = new X();
При запуске вышеуказанного кода вывод:
X (Обновлено по Y)
И не:
X (обновлено по Y) (обновлено по Z)
Как я и надеялся.
Кажется, что присвоение "ref parameter" полю теряет ссылку.
Есть ли способ сохранить ссылку при назначении поля?
Спасибо.