Co dzieje się z użyciem instrukcji, gdy przechodzę do wstrzykiwania zależności
Obecnie używam następującego kodu:
public class MyProvider
{
public MyProvider()
{
}
public void Fetch()
{
using (PopClient popClient = new PopClient())
{
....
}
}
}
Ponieważ chcę być w stanie przetestować metodę Fetch i ze względu na fakt, że nie mogę wyrecytować PopClient, stworzyłem interfejs i klasę wrappera, która wywołuje PopClient. Mój zaktualizowany kod wygląda następująco:
public class MyProvider
{
private readonly IPopClient popClient;
public MyProvider(IPopClient popClient)
{
this.popClient = popClient;
}
public void Fetch()
{
using (var pop3 = popClient)
{
....
}
}
}
Używam Ninject do wstrzykiwania zależności i nie jestem całkiem pewien, jaki efekt będzie miała instrukcja using w zaktualizowanym kodzie, ponieważ Ninject już stworzył instancję PopClient i wstrzyknął ją do konstruktora.
Czy instrukcja using usunie obiekt pop3 i pozostawi sam obiekt popClient, aby Ninject mógł go obsłużyć lub czy użycie instrukcji zakłóci działanie Ninject?
Jakie jest właściwe podejście w tym przypadku? Każdy wgląd byłby bardzo pomocny.