Passa ai contenuti principali

Post

Visualizzazione dei post da Settembre, 2010

VB.NET: Recuperare i tipi argomenti di un oggetto istanza di un generico

In questo breve post vorrei mostrarvi come capire se un oggetto che avete sotto mano è un generico (o, per dirla meglio, è l’istanza di un generico), recuperare il generico di cui è istanza e i tipi degli argomenti tipo.Prendiamo, ad esempio la classe:Tuple(OfString, Int32, Boolean, Double?) Questa è la definizione concreta di una classe generics, la Tuple(Of T1,T2,T3,T4) di cui gli argomenti tipo sono, rispettivamente: String, Int32, Boolean e Double? .Letta così sappiamo facilmente capire tutto ciò, ma come facciamo a fare altrettanto all’interno di un nostro software?Per fare questo ci vengono i aiuto alcuni metodi della classe Type.In particolare possiamo scrivere:Dim obj = NewTuple(OfString, Int32, Boolean, Double?)("", 1, True, Nothing)Dim isGeneric = obj.GetType().IsGenericTypeDim genericType = obj.GetType().GetGenericTypeDefinition()Dim genericArgs = obj.GetType().GetGenericArgumentsConsole.WriteLine(genericType.FullName)ForEach arg In genericArgsConsole.WriteLine(arg…

Parte il Community Tour dedicato a Windows Phone 7, IE9, Windows Azure e Visual Studio

Vi segnalo il seguente post del blog di MASD Italia in cui sono riportate alcune date del prossimo Community Tour:Parte il Community Tour dedicato a Windows Phone 7, IE9, Windows Azure e Visual StudioCome potrete vedere qui a Roma è previsto il 12 Novembre 2010. Sarà organizzato da VB Tips &Tricks e DomusDotNet.L’agenda della tappa romana non è ancora nota ma rimanete connessi con il portale DomusDotNet perchè quanto prima arriverà. Se volete “acquistarci” a scatola chiusa, ecco il link per iscrivervi: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032464064&Culture=it-IT
Technorati Tag: ,

VB.NET: Istanziare oggetti generics tramite Reflection

Istanziare oggetti utilizzando la reflection è quanto mai semplice.Supponiamo di avere una nostra classe Entita:PublicClassEntitaPublicSubNew()EndSubPublicSubNew(ByVal id AsInt32)Me.ID = idEndSubPublicProperty ID AsInt32EndClass Normalmente un istanza di classe Entita si ottiene semplicemente:Dim miaEntita = NewEntita() Se, invece, vogliamo eseguire la stessa operazione utilizzando reflection abbiamo:' Recupero il tipo della classe da istanziareDim tipoEntita = Type.GetType("Entita")If tipoEntita IsNotNothingThen' creo l'entità utilizzando il costruttore di defaultDim miaEntita = Activator.CreateInstance(tipoEntita)' creo l'entità utilizzando il costruttore che prevede l'idDim miaEntita2 = Activator.CreateInstance(tipoEntita, NewObject() {3})EndIf Il nome del tipo da creare utilizzando la Reflection deve essere tale che la classe sia “visibile” dal nostro applicativo.Quindi se, ad esempio, stiamo istanziando un tipo presente in un assembly esterno dovrem…

Code Contracts – Generazione documentazione VB.NET completamente funzionante

La nuova versione dei Code Contracts (1.4.30903.0 rilasciata il 9 Settembre scorso risolve il problema segnalato nel mio precedente post.La versione precedente (1.4.30707.2) aveva lo spiacevole bug di non essere in grado di copiare correttamente il file xml di documentazione (generato nella cartella obj) all’interno della cartella di bin. Per questo motivo era necessario ricorrere ad uno script di post build per eseguire l’operazione.La nuova versione risolve il problema e, finalmente, anche gli sviluppatori VB.NET possono avere automaticamente la loro documentazione per i contratti definiti nelle loro classi.RiferimentiMicrosoft Research - Code Contracts : http://research.microsoft.com/en-us/projects/contracts/DevLabs - Code Contracts : http://msdn.microsoft.com/en-us/devlabs/dd491992.aspxCode Contracts Forum : http://social.msdn.microsoft.com/Forums/en-US/codecontracts/threadsVideo su Channel9 : http://channel9.msdn.com/Search/?Term=code contractsTechnorati Tag: ,

Windows Phone 7 & VB.NET

Oggi, durante l’evento dedicato allo sviluppo per Windows Phone 7 e al Marketplace per le applicazioni (a cui sono stato onorato di essere presente), è stato annunciata la disponibilità degli strumenti di sviluppo per Windows Phone dedicati a VB-isti.I tools sono scaricabili dal link http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a808a69d-6119-47b7-b858-262be5c49915&displaylang=enSono in versione CTP, quindi hanno delle limitazioni e, in particolare:Non possono essere utilizzati per produrre applicazioni da mettere nel marketplace;Non c’è il supporto per Blend;Necessitano di una versione professional (almeno) di Visual Studio per poter essere utilizzati (il pacchetto di installazione non installa la express come per i cugini c-sharpisti);Non esiste la possibilità di sviluppare con XNA ma solo con Silverlight.Le limitazioni spariranno non appena verrà rilasciata la versione beta. Il fatto, però, che MS abbia rilasciato una CTP così rapidamente smentisce tutti coloro ch…

IE9 – Pinned Site – Aggiungere un sito al menù Start

Un’altra funzionalità messa a disposiziojne da IE9 è qualle che ci da la possibilità di aggiungere un sito web all’interno del menù Start di Windows 7.Per fare questo è sufficiente utilizzare l’opzione di menù presente sotto Strumenti->File->Aggiungi al Menù Start:IE9 chiede conferma dell’operazione:
e, in caso, di risposta positiva inserisce il sito tra i programmi del menù start:E’ possibile eseguire questa operazione anche da codice Javascript utilizzando il metodo window.external.msAddSiteMode()Ad esempio il seguente codice mette a disposizione un bottone per l’aggiunta del sito al menù start:<scripttype="text/javascript">function addWebApp() {try {            window.external.msAddSiteMode();        }catch (ex) {// Site Mode not supported.        }    }</script><buttononclick="addWebApp()"title="Click to add this webpage to your Windows Start menu.">    Launch in Site Mode</button> E’ possibile anche gestire l’evento di avv…

ALM Reloaded: il giorno dopo!!

Eccomi qui a tirare le somme del primo evento DomusDotNet: ALM Reloaded.A mio modo di vedere un evento riuscito e la conferma mi è arrivata quando tanti dei presenti si sono complimentati prima di lasciare la sede Microsoft di Roma.Qualcuno obbietterà che è facile fare risultato quando si schiera una squadra con tre pezzi da novanta come Lorenzo, Gian Maria e Matteo, e, io non solo rispondo che mi piace vincere facile, ma che una squadra forte va pure assemblata e messa in campo, quindi anche se gli speaker sono di assoluto livello l’idea di metterli assieme è stata decisamente buona.Dopo dieci anni di tentativi e un paio di community tragicamente naufragate, finalmente un evento (non ufficiale Microsoft) con un drop rate “normale”: 55 iscritti e 45 presenti rappresenta, a mio avviso, un risultato inaspettato!!Un grazie va , quindi, a chi è venuto all’evento, a Lorenzo che, nonostante fosse reduce da due lab su Windows Phone 7, non è voluto mancare (e ha tirato fuori dal cilindro una …

IE9 – Pinned Site

Una funzionalità sfiziosa (forse inutile ma sfiziosa) presente su IE9 è la possibilità di “pinnare” i nostri siti preferiti all’interno della Application Bar di Windows 7.Per fare questo è sufficiente draggare la scheda di IE9 in cui c’è il sito da pinnare al di sopra dell’application bar (tra le applicazioni “standard”):A questo punto il sito è raggiungibile direttamente cliccando sull’icona presente nell’application bar.La finestra di IE9 di un sito pinnato mostra la favicon dello stesso in alto a sinistra. che ci permette, in qualunque momento, di ritornare alla pagina “pinnata”.Technorati Tag: ,

Terza puntata dello speciale Code Contracts su DomusDotNet

Oggi è stata pubblicata, sul portale DomusDotNet, la terza puntata dello speciale sui Code Contracts.Technorati Tag: ,,

Laboratorio su Windows Phone 7 a Roma

Il giorno 16 Settembre ci sarà un laboratorio per lo sviluppo di applicazioni su Windows Phone 7 nella sede romana della Microsoft in Via Avignone 10 (zona EUR).L’agenda della giornata sarà:10.30 – 12.30 sessioni e discussioni tecniche su gestione delle applicazioni, tombstoning, uso dei launcher e dei chooser, sensori, etc... 13.30 – 18.00 laboratori con a disposizione i prototipi di Windows Phone 7 e PC opportunamente configurati (Zune, Visual Studio, etc...) da usare per le prove Per maggiori info o per partecipare andate qui.A seguire ci sarà una cena tra amici per parlare del più e del meno e di Windows Phone 7!!!Technorati Tag: ,

Pubblicata la seconda puntata di “Introduzione ai Code Contracts”

E’ stata pubblicata oggi la seconda di cinque puntate di uno speciale sui Code Contracts. In questa puntata cominciamo a vedere come implementare i contracct grazie alla classe Contracts e come gestirli all’interno di interfacce e classi astratte.Technorati Tag: ,,,

Introduzione ai Code Contracts (parte 1) su DomusDotNet

E’ stata pubblicata oggi la prima di cinque puntate di uno speciale sui Code Contracts. La prima puntata propone una breve introduzione al design by contract e ai tools disponibili per il mondo .NET.Technorati Tag: ,,,

ALMReloaded: finalmente agenda ed iscrizioni

Concluso il sondaggio per decidere le sessioni dell’evento, ecco che viene pubblicata l’agenda :14:30 - 15:00
Registrazione15:00 - 15:15
Keynote introduttiva: Lorenzo Barbieri (MSFT)15:15 - 16:00
A lap around Development Methodologies: Scrum, SDL, MSF.
Panoramica introduttiva sulle metodologie di sviluppo, e sui Process Template Microsoft attualmente rilasciati per Team Foundation Server.16:00 - 16:45
Deep dive on Source Code Management. Branching Strategy questa sconosciuta.
In questa sessione vedremo come gestire il codice sorgente con Team Foundation Server mediante diversi approcci di Source Code, Configuration e Release Management.16:45 - 17:00
Pausa17:00 - 17:45
Procedure di testing nell'ALM.
Cosa è veramente il test e soprattuto, quale metodologie di test vanno adottate in relazione al processo scelto? Lo scopo di questa sessione è andare oltre il concetto di Unit Test e soprattutto comprendere quali metodologie di test adottare nelle varie fasi della realizzazione.17:45 -…

Applicazioni Windows Phone 7 e novità del Marketplace

Vi segnalo l’evento virtuale sullo sviluppo per Windows Phone 7 che si terrà il giorno 23 settembre dalle 14:30 alle 18:00.Applicazioni Windows Phone 7 e novità del MarketplaceA parte l’indubbio interesse per questo nuova piattaforma, seguendo l’evento c’è la possibilità di vincere 4 Windows Phone 7!!!Io no me lo perderei.Technorati Tag: ,