Mucha gente en SO señaló que debería usar la declaración using
con más frecuencia. Entonces estoy practicando.¿Cuándo se debe usar la instrucción Using?
El problema es que no puedo decidir cuándo usarlo y cuándo no usarlo. Cuando pienso que debería usarlo, entonces consigo errores como en este ejemplo (Sal. HashPhrase es una clase creada por mí):
using (HashPhrase hash = new HashPhrase())
{
connection.ConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + filePath + ";" +
"Persist Security Info=False;" +
"Jet OLEDB:Database Password=" + hash.ShortHash(pass) + ";";
}
Pero me da un error: 'Password_Manager.HashPhrase': type used in a using statement must be implicitly convertible to 'System.IDisposable'
Pero en este ejemplo funciona bien:
using (OleDbConnection connection = new OleDbConnection())
{
connection.ConnectionString =
"Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + filePath + ";" +
"Persist Security Info=False;" +
"Jet OLEDB:Database Password=" + hash.ShortHash(pass) + ";";
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}
¿hay alguna guía de manera rápida cómo determinar cuándo se debe utilizar using
declaración?
Eso tiene sentido. – HelpNeeder
@downvoter: ¿Te importaría explicar tus razones para el voto a favor? – LukeH