2010-11-24 18 views

Répondre

0

Selon MSDN, yes. Lorsque le contrôle quitte la portée de l'instruction using, attendez-vous à ce qu'il soit éliminé.

0

L'objet sera éliminé au fur et à mesure que l'exception se produira.

Voir: using Statement (C# Reference)

L'instruction à l'aide assure que Dispose est appelée même si une exception se produit pendant que vous appelez des méthodes sur l'objet. Vous pouvez obtenir le même résultat en plaçant l'objet dans un bloc try, puis en appelant Dispose dans un bloc finally; en fait, c'est ainsi que l'instruction using est traduite par le compilateur.

5

Un using est comme l'emballage de votre code dans un try...finally et disposer dans le enfin, donc oui, il devrait être appelé. L'utilisation de

2

se développe dans un bloc try..finally, donc oui, il appellera Dispose.

2

Dans l'exemple fourni, Dispose sera appelé avant le lancement de l'exception.

Le code normal pour assurer Cédant est appelée ressemble

var connection= new SqlConnection(connectionString); 
try 
{ 
    // do something with the connection here 
} 
finally 
{ 
    connection.Dispose(); 
} 

L'instruction usings remplace le besoin d'écrire une telle déclaration lourde.

using(var connection = new SqlConnection(connectionString)) 
{ 
    // do something with the connection here 
}