agosto 2010 Blog Posts
Ho sempre sostenuto che le licenze dei software purtroppo sono poco chiare se non incomprensibili per la maggior parte degli utenti e spesso anche per gli operatori del settore. Diciamocelo chiaramente, in mezzo alla solita tiritera sopra il pulsante "accetto" è facile cambiare un paio di preposizioni e stravolgere il significato di un testo che, sulle prime, all'utente sembra il solito. È per questo motivo che credo che BSA abbia fallito nel ruolo di difensore delle licenze in quanto non fornisce agli utenti gli strumenti per capire i reali confini scavati dalle licenze. Se non c'è chiarezza non...
Le query con Linq to XML sono tra le meraviglie di un developer managed. Infinitamente più semplici di DOM/SAX/XmlReader e con prestazioni da urlo. Il team di Office ha disegnato un Object Model che mappa 1:1 il formato XML del nuovo formato ISO "Office Open XML". Da una parte questo approccio è poco conveniente perché è possibile generare documenti non well-formed, dall'altra offre vantaggi indiscutibili come quello di "Document Reflector" il tool dell'sdk che genera codice C# a partire da un documento docx/xlsx/pptx o ancora la possibilità di fare query Linq su questo object model come fosse quello di...
Purtroppo non c'è nessuna interfaccia che definisca AddRange sulle collection, quindi non c'è ICollection o IList che tenga. A rimediare elegantemente ci pensano gli extension method che ci permettono di aggiungere AddRange in questo modo: public static class CollectionExtension
{
public static void AddRange<T>(this ICollection<T> list, IEnumerable<T> elements)
{
foreach (var e in elements)
...