So che ho chiesto una domanda correlata in precedenza. Ho appena avuto un altro pensiero.utilizzando su SQLDataReader
using (SqlConnection conn = new SqlConnection('blah blah'))
{
using(SqlCommand cmd = new SqlCommand(sqlStatement, conn))
{
conn.open();
// *** do I need to put this in using as well? ***
SqlDataReader dr = cmd.ExecuteReader()
{
While(dr.Read())
{
//read here
}
}
}
}
L'argomento è che: Dato che l'oggetto SqlDataReader
dr
non è un nuovo oggetto come il collegamento o di comando gli oggetti, la sua semplicemente un riferimento che punta al metodo di cmd.ExecuteReader()
, ho bisogno di mettere il lettore all'interno di un using
. (Ora, in base al mio post precedente, è a mia conoscenza che qualsiasi oggetto che utilizza IDisposable
deve essere inserito in un using
e SQLDataReader
ereditato da IDisposable
, quindi ho bisogno di metterlo. Sono corretto a mio giudizio?) Sono solo confuso poiché non è un nuovo oggetto, potrebbe causare problemi nello smaltimento di un oggetto che è semplicemente un puntatore di riferimento al comando?
Molte grazie
"cmd.ExecuteReader" è una sorta di metodo di riferimento. "cmd.ExecuteReader()" (parentesi graffe) è una chiamata al metodo. –