2014-12-13 2 views
1

С двумя последовательными «использованием» оба соединения будут удалены при выходе из {}?OleDbCommand, два последовательных «использования»

using(OleDbConnection con = new OleDbConnection(conString)) 
using(OleDbCommand command = con.CreateCommand()) 
{ 
} 
+0

Да, точно ... И '' OleDbConnection' и OleDbCommand' будут расположены на} '' линии. –

+0

Какие 2 соединения? Я вижу только 1. Но да в этом случае оба _объекта_ будут. Добавление фигурных скобок '{}' вокруг блоков, таких как 'if' или' using', всегда делает его более ясным, что произойдет, когда это будет хорошей практикой. – Rhumborl

ответ

2

Там только один соединение там - и команда, используя соединение. Оба будут утилизированы.

Это эффективно:

using(OleDbConnection con = new OleDbConnection(conString)) 
{ 
    using(OleDbCommand command = con.CreateCommand()) 
    { 
    } // command will be disposed here 
} // con will be disposed here 
+2

В основном то же самое, что и 'if (condition) Do();' и 'if (condition) {Do(); } ' – knittl