Programmazione Asincrona eccezioni multiple Gestire eccezioni all’interno di codice asincrono non sempre porta ai risultati attesi. Analizziamo il seguente codice asincrono public static Task<int> Foo() { return Task<int>.Factory.StartNew(() => { throw new Exception(“From Foo!”); }); } public static Task<int> Bar() { return Task<int>.Factory.StartNew(() => { throw new Exception(“From Bar!”); }); }
Programmazione Asincrona e void Uno degli errori da evitare nella programmazione asincrona in c# (tramite async e await) è quello di creare metodi che restituiscono void. L’utilizzo di metodi asincroni che ritornano uno void (async void) introducono due tipologie di problemi: non è possibile determinare quando il task è stato completato le eccezioni che vengono generate al suo interno producono […]
Programmazione Asincrona con Async e Await L’introduzione di async e await consente di scrivere codice asincrono, come se si trattasse di codice sincrono Non sempre però l’utilizzo della Programmazione Asincrona con Async e Await viene utilizzata in maniera appropriata: è necessario seguire alcune linee guida per evitare di incappare in problemi non sempre di facili risoluzione. Nei prossimi articoli tratteremo alcuni errori […]
C# – Tuple Se da un metodo dobbiamo ritornare più di un valore possiamo utilizzare uno dei seguenti modi: utilizzare un parametro con la parola chiave out (passaggio per riferimento) ritornare una struttura dati o una classe ritornare un tipo anonimo tramite un tipo dinamico (sconsigliato!) La quarta soluzione possibile sono le tuple, introdotte all’interno del framework 4.0 […]
Javascript e refactoring Mi è capitato di mettere mano a codice javascript scritto qualche anno fa: mi sono accorto che l’utilizzo di Typescript ha cambiato profondamente il mio modo di programmare. Nel corso degli anni mi sono ricreduto sull’utilizzo di javascript che si è dimostrato affidabile e universale, ma sicuramente (almeno per me) inizialmente ha comportato non pochi […]