Располагается ли объект, если на него ссылаются в другом объекте c#? - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть следующие классы

public class A : IDisposable
{
    private readonly C _c;

    public A (string str)
    {
        _c = new C (str);
    }
    public B CreateB()
    {
        return new B(_c);
    }
}

public class B : IDisposable
{
  private readonly D _d;

   public B(C c)
   {
       _d = new d(c);
   }

   public DoSomething()
   {
        _d.DoSomethingMore();
   }
 }

И я использую их следующим образом:

public void Work(string c)
{
    using (var a = _new A(c))
    {
        var b = a.CreateB();
        b.DoSomething();

    }
}

Мой вопрос находится в конце метода работы после оператора using, что произойдет с объектом C, будет ли он расположен вместе с объектом A или не будет, потому что он также используется в классе B, а его нет в блоке using. Что ты думаешь?

...