I Generics sono una delle novità più interessanti del .NET Framework 2.0 e l'utilizzo dei metodi generici si rivela in molti casi molto utile, perchè consente di scrivere metodi dall'implementazione generica, ma perfettamente tipizzata.
Il tipico caso è un metodo che faccia da wrapper per il metodo ExecuteScalar del Command di ADO.NET, così da fornire una sola implementazione utile a restituire il tipo del valore di ritorno già pronto per l'utilizzo:
private static T ExecuteScalar<T>(string sql, SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlCommand command = new SqlCommand(sql, conn))
{
if (parameters!= null)
command.Parameters.AddRange(parameters);
return (T)command.ExecuteScalar();
}
}
}Il vantaggio di questo approccio è che il metodo è perfettamente utilizzabile con qualsiasi tipo di ritorno, senza necessità di effettuare casting.
Il tipico utilizzo potrebbe essere il seguente:
int totalRecords = ExecuteScalar<int>("SELECT COUNT(*) FROM authors", null);In questo caso si recupera l'intero corrispondente al numero di record in maniera tipizzata e senza necessità di aggiungere
Esprimi il tuo giudizio su questo script:
Per procedere devi essere autenticato.









Stampa
Snippet
Download 



Una volta aperta la connessione verso il db non c'è bisogno di chiuderla?Mauro.
Continua »»» | Rispondi »»»