.NET

AVR Italy Community

Volevo segnalare il mio tentativo di istituire la prima comunità italiana di utilizzatori di microcontrollori AVR® della Atmel®, appassionati di elettronica e di programmazione. Si prenderanno in considerazione prevalentemente i progetti e gli articoli riguardanti lo sviluppo di applicazioni, plug-in e librerie per l'interfacciamento del mondo dei micro AVR ed i personal computer con sistema operativo Microsoft® Windows®, prendendo come riferimento per lo sviluppo il Framework Microsoft® .NET, il linguaggio C# e Visual Studio. Per gli interessati: http://avr.rmariotti.it  

posted @ mercoledì 28 maggio 2008 12:47 | Feedback (35)

Modifica delle proprietà e INotifyPropertyChanged

Spesso in rete trovo degli esempi di implementazione dell'interfaccia INotifyPropertyChanged che non mi piacciono per niente (anche su MSDN). In particolare sono interessato a come e quando generare l'evento di notifica della modifica di una proprietà. Sembra che quasi tutti ignorino il fatto di generare la notifica solo quando il valore della proprietà è stato effettivamente modificato. Credo invece sia importante gestire correttamente tale notifica, per una serie di ragioni, prima su tutte le performance. Nelle mie implementazioni di entità gestisco l'impostazione del nuovo valore e la notifica in modo centralizzato, con un metodo protected implementato nella classe base da cui derivano tutte...

posted @ venerdì 14 marzo 2008 09:54 | Feedback (27)

Implementare ISupportInitialize nelle classi entità

Sto realizzando l'ennesima versione di una classe base astratta da utilizzare per tutte le entità aziendali. Questa classe dovrà implementare alcune interfacce basilari, tra le quali INotifyPropertyChanged, e pensavo anche alla ISupportInitialize. Il dubbio che ho nell'implementare quest'ultima interfaccia è se devo generare o no gli eventi di notifica del cambio dei valori delle proprietà nel momento che a seguito della chiamata al metodo ISupportInitialize.EndInit() vado ad impostare tutti i valori delle proprietà modificate dopo la chiamata a ISupportInitialize.BeginInit(). Per chiarezza (?), segue il frammento dell'implementazione della classe ed in particolare la parte di implementazione dell'interfaccia ISupportInitialize.       #region ISupportInitialize implementation       public void BeginInit()      ...

posted @ giovedì 13 marzo 2008 12:13 | Feedback (237)

WPF binding con oggetti Visual ed entità

Sto progettando un framework per il disegno di oggetti grafici in WPF utilizzabili per comporre disegni, schemi, organigrammi, pert, ecc. Dato che ogni disegno dovrà essere caricato e salvato in data set di vario tipo (file XML, database SQL) ogni oggetto grafico sarà in realtà una rappresentazione di entità aziendali custom serializzabili. Per disaccoppiare la rappresentazione grafica ed i dati, ho pensato di utilizzare il binding già implementato da WPF. In pratica, l'utilizzo del binding è un po' fuori dai soliti schemi ed esempi che si trovano in rete, nel senso che le proprietà collegate non sono riferite a controlli utente di una...

posted @ giovedì 28 febbraio 2008 09:55 | Feedback (18)

Distruttori e Dispose in .NET

Durante lo sviluppo di una classe base per l'accesso ai dati utilizzando la Enterprise Library mi sono accorto di un mio bug riguardante il non rilascio delle risorse quando utilizzavo il contesto di configurazione nel costruttore della classe. Questo provocava un memory leaks che mi faceva crescere il numero di thread allocati mano a mano che utilizzavo le classi per l'accesso ai dati. Quindi mi sono detto: mi scrivo una serie di regole per evitare in futuro questo grossolano errore nella programmazione in .NET. Per fortuna, come capita di sovente, in rete altri hanno già fatto esperienza e scritto qualche cosa, e in questo...

posted @ sabato 29 ottobre 2005 15:09 | Feedback (256)