Обновить ссылку (`ref`) в разностном методе

Я пытаюсь обновить переменную ref container который был передан через конструктор, чтобы установить равным новому объекту в Run метод. Конечно, в Run метод я обновляю ссылку на Foo::_container не переменная container это было определено в Main, Поэтому мне интересно, есть ли способ сохранить ссылку на контейнер, которая была передана через конструктор, и впоследствии обновить значение ссылки. Спасибо.

public class Foo
{
    private IContainer _container;

    public Foo(ref IContainer container)
    {
        _container = container;
    }

    public void Run()
    {
        var temp = new Container();
        _container = temp;
    }
}


static class Main
{
    static void Main()
    {
        IContainer container = null;
        (new Foo(ref container)).Run();

        // container is still null
        Console.WriteLine(container);
    }
}

0 ответов

Другие вопросы по тегам