Classi astratte ed Interfacce Una delle domande che solitamente mi viene posta nell’ambito della programmazione ad oggetti riguarda l’utilizzo di classi astratti e di interfacce. Cosa sono le classi astratte? E le interfacce? Quando usare una o l’altra?
Programmazione asincrona codice misto Sviluppando codice asincrono si tende spesso ad implementare buona parte delle funzioni sfruttando le potenzialità fornite dall’utilizzo di async ed await. Un pò come se rendere i comportamenti asincroni fosse in qualche modo “contagioso”. Se all’interno del codice vengono sviluppate fuzioni sincrone, lo sviluppo “misto” può generare problematiche nel flusso di esecuzione e nelle performance della […]
Sharepoint e campi DateTime Recentemente ho dovuto mettere mano ad un’applicazione SharePoint Online ed il render di campi di tipo DateTime. L’utilizzo di campi di tipo data generalmente può generare non pochi problemi dovuti alle diverse timezone e ai formati utilizzati dallo storage. In particolar modo, la mia applicazione ha il compito di visualizzare una serie di appuntamenti (con […]
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 […]