luglio 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 @ lunedì 31 luglio 2006 20:00 | Feedback (2)

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 @ lunedì 31 luglio 2006 10:01 | 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 @ venerdì 28 luglio 2006 14:42 | Feedback (0)