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
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Short-circuiting della Pipeline in ASP.NET Core
Utilizzare la libreria Benchmark.NET per misurare le performance
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Implementare il throttling in ASP.NET Core
Load test di ASP.NET Core con k6
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
I più letti di oggi
- Elencare gli utenti di un dominio NT con ADSI
- Creare un messaggio di posta in diversi formati con ASP.NET 2.0
- Utilizzare SQL e #linq per eseguire una query con #entityframework Core https://aspit.co/bfv di @sm15455 #efcore1
- Utilizzare il metodo reduce in #javascript https://aspit.co/ccc di @morwalpiz
- Disponibile il codice sorgente di ASP.NET MVC
- rilasciati nuovi template per la #aspnet web pages. funzionano anche con #webmatrix: http://u.aspitalia.com/lu