May 2010 Blog Posts

MySolutionLab

MySolutionLab è un portale focalizzato sullo sviluppo di software visto come attività ingegneristica, e quindi conforme ai requisiti di (tratto dal sito): …. correttezza, affidabilità, robustezza, efficienza, usabilita',...

posted @ Sunday, May 30, 2010 7:03 AM | Feedback (0)

Object Identity / Equality

E’ noto che il metodo virtuale Equals ereditato da ogni oggetto dalla classe System.Object permette di definire un criterio di uguaglianza tra due oggetti non basato esclusivamente sulla reference (ovvero 2 oggetti sono uguali se puntano alla stessa istanza di un determinato oggetto). E’ altresì noto che ridefinendo il metodo Equals siamo costretti a ridefinire il metodo GetHashCode per far si che in presenza di 2 oggetti uguali (Equals che ritorna true), il metodo GetHashCode ritorni lo stesso valore di hash per i 2 oggetti, questo perchè l’oggetto in questione potrebbe essere usato come chiave in una collezione di...

posted @ Tuesday, May 04, 2010 5:03 AM | Feedback (0)

CLR – Forwarding type

Il CLR consente di spostare il codice di una classe da un assembly ad un altro senza  dover ricompilare il codice client che usa la classe in questione. Questa caratteristica è nota come Type Forwarding. Supponendo di avere la classe Class1 nell’assembly Ass1, se per questioni di refactory del codice sorgente la classe viene spostata nell’assembly Ass2, sembrerebbe a prima vista necessario ricompilare anche il codice che referenzia l’assembly Ass1 per aggiungere una reference all’assembly Ass2 e modificare la dichiarazione della classe Class1. Tutto ciò non è necessario. Basta decorare l’assembly Ass1 (la nuova versione, quella priva...

posted @ Monday, May 03, 2010 4:36 AM | Feedback (0)