У меня есть следующие классы
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
. Что ты думаешь?