July 2006 Blog Posts

Leggere i file .msg senza fare uso del modello ad oggetti di Outlook

Tempo fa mi è capito di dover leggere il contenuto di file .msg ottenuti salvando mail di Outlook. Il tutto è semplice se si utilizza il modello ad oggetti di Outlook, senza di questo il lavoro è un po' più complesso.Cercando un po' sulla rete ho scoperto che i file .msg sono del formato "OLE Structured Storage File". E' un tipo particolare di file (binario), organizzabile gerarchicamente un po' come se fosse un mini file system. Windows fornisce API per fare I/O su file di questo genere.Un file .msg è organizzato gerarchicamente in una serie di nodi, ciascuno dei quali...

posted @ Monday, July 31, 2006 7:00 PM | Feedback (3)

Microsoft Concurrency and Coordinator Runtime

Microsoft ha recentemente annunciato il Robotics Studio (http://msdn.microsoft.com/robotics/). Consta sostanzialmente di un SDK che a sua volta contiene componenti decisamente interessanti. Uno di questo è Microsoft CCR (Microsoft Concurrency and Coordinator Runtime), un framework pensato per semplificare la costruzione di applicazioni con codice concorrente e asincrono.Riferimenti:http://msdn.microsoft.com/msdnmag/issues/06/09/ConcurrentAffairs/http://channel9.msdn.com/Showpost.aspx?postid=219308

posted @ Monday, July 31, 2006 9:01 AM | Feedback (0)

Generics e covarianza/controvarianza dei type parameters

Date due classi A e B, denotiamo con B <: A il fatto che B è sottoclasse di A.Una classe generica, diciamo C<T>, si dice covariante rispetto a T se, date due classi A e B tali che B <: A, risulta anche che C<B> <: C<A>.In modo duale, una classe generica, diciamo C<T>, si dice controvariante rispetto a T se, date due classi A e B tali che B <: A, risulta anche che C<A> <: C<B>. Gli attuali tipi generici C# non contemplano i concetti di covarianza e controvarianza dei type parameter e questa è una limitazione in diversi...

posted @ Friday, July 28, 2006 1:42 PM | Feedback (0)