Итак, это работает.
public MyClass(ref Apple apple)
{
apple = new Apple("Macintosh"); // Works fine
}
Но можно ли сделать что-то подобное?
private Apple myApple;
public MyClass(ref Apple apple)
{
myApple = apple;
}
public void ModifyApple()
{
myApple = new Apple("Macintosh"); // does not change the input variable like the first example did
}
Когда переменная ref копируется в переменную-член myApple
, она, как представляется, теряет "ref-ness", а повторная привязка к ней больше не изменяет входную переменную. Есть ли способ обойти это?