Realmente quiero sacar esto de mi cabeza. Vea el código siguiente:C# usando la declaración
using (DataTable resultTable = DBUtility.GetSingleDBTableResult(connectionString, "SELECT * FROM MyDBTable")) {
List<string> resultsList = new List<string>();
foreach (DataRow dataRow in resultTable.Rows) {
resultsList.Add(dataRow[0].ToString());
}
return resultsList;
}
¿Está dispuesta la tabla de datos? ¿Alguien puede explicar cómo se traduce esto en un bloque try/catch/finally? MSDN afirma que, si se produce una excepción, se llamará al método Dispose, pero ¿qué pasa con la declaración de devolución?
O debo utilizar a continuación código:
List<string> resultsList = new List<string>();
using (DataTable resultTable = DBUtility.GetSingleDBTableResult(connectionString, "SELECT * FROM MyDBTable")) {
foreach (DataRow dataRow in resultTable.Rows) {
resultsList.Add(dataRow[0].ToString());
}
}
return resultsList;
Probablemente, el segundo se debe utilizar, pero sólo necesito iluminación :). Por favor explique. Gracias.
Ponga su declaración donde tú quieras y el Desechar se llamará independientemente. 'Usar' es tu amigo! – Chris