Questa è una domanda che mi sono posto molte volte in passato mentre ho annidato usando le istruzioni 5 in profondità.Tutti gli oggetti monouso istanziati all'interno di un blocco utilizza sono disposti?
Leggendo il docs e trovare alcuna menzione in entrambi i casi per quanto riguarda altri monouso istanziati all'interno del blocco ho deciso che era una buona Q per SO archivi.
Considerate questo:
using (var conn = new SqlConnection())
{
var conn2 = new SqlConnection();
}
// is conn2 disposed?
FYI: Ho ricevuto la risposta negli appunti prima di inviare la domanda. –
Penso che sia tecnicamente possibile che quel thread venga sospeso in qualche modo tale che 'SqlConnection.Dispose()' venga chiamato da 'Component.Finalizer()' tra la variabile 'conn2' che esce dall'ambito e la linea' Assert' . C'è una condizione di gara qui, no? – binki