Что происходит с использованием оператора, когда я перехожу к внедрению зависимости
В настоящее время я использую следующий код:
public class MyProvider
{
public MyProvider()
{
}
public void Fetch()
{
using (PopClient popClient = new PopClient())
{
....
}
}
}
Потому что я хочу иметь возможность модульного тестирования метода Fetch и из-за того, что я могуДля насмешки над PopClient я создал интерфейс и класс-обертку, который вызывает PopClient. Мой обновленный код выглядит так:
public class MyProvider
{
private readonly IPopClient popClient;
public MyProvider(IPopClient popClient)
{
this.popClient = popClient;
}
public void Fetch()
{
using (var pop3 = popClient)
{
....
}
}
}
Я использую Ninject для внедрения зависимостей, и я не совсем уверен, какой эффект будет иметь оператор using в обновленном коде, поскольку Ninject уже создал экземпляр PopClient и внедрил его в конструктор.
Будет ли оператор using избавляться от объекта pop3 и оставлять объект popClient в покое, чтобы Ninject мог с ним справиться, или оператор using мешает Ninject?
Каков правильный подход в этом случае? Любое понимание было бы очень полезно.