July 2005 Blog Posts

Xsd.exe a portata di menù

xsd.exe è un tool che sarebbe comodo avere sempre a portata di mano per chi è abitauato a creare l'XSD da cui poi generare le classi per la serializzazione. Ecco come potete fare. Tools/External Tools.../Add Configurare come illustrato in figura un nuovo elemento. Aprire il file xsd e richiamare da Tools la voce che abbiamo aggiunto. dal menù contestuale del progetto usate la funzionalita "Show All Files" (come mostrato in "Visualizzare file e cartelle nascoste in Visual Studio .NET") intregrate nel progetto il file creato. Attenzione di default le classi vengono generate in c#, aggiungete quindi argomenti quanto basta per meglio...

Workshop Component Development, Corrado e il C#

Riccardo ha già pubblicato le foto dell'evento, http://blogs.aspitalia.com/rickyvr/post1142/WorkShopComponentDevelopment.aspx ... evito quindi di pubblicare anche la mia potenziale misera galleria di foto. Tuttavia ne ho una che non posso non pubblicare. Durante l'evento Corrado ha tenuto la sua sessione in parte in VB.NET e in parte in C#... la cosa mi aveva stupito non poco e qualcuno dalle retrovie malignava che stava passando al lato oscuro della forza :-p Ma guardate qsta foto. E' la schermata di codice che Corrado stava scrivendo durante la sua sessione... Che dite? Errore dovuto all'abitudine o messaggio subliminare per convertire le masse?

[.whidbey] Dictionary, TryGetValue e l'innominabile "null"

Dopo i vari TryParse (del double dalla 1.1 e ora anche del datetime) in Whidbey compare anche Dictionary.TryGetValue. E' un po che la uso, tutto le volte che la uso mi prometto di bloggarlo ma poi mi dimentico :-p Cmq il metodo per me è stata manna dal cielo :-D Ora come ora sono consapevole che il metodo corretto sarebbe: if(myDictionary.ContainsKeys(myKey)){   MyType myObject = (MyType ) myDictionary[myKey];   //... codice ... }else{ //Qui faccio qlkosa nel caso non ci siamo elementi legati a myKey } ma poi finisco sempre con lo scrivere: MyType myObject = (MyType ) myDictionary[myKey]; if(myObject  == null){ //Qui faccio qlkosa nel caso non ci siamo elementi legati a myKey }else{  ...

CollectionBase e OnValidate

Quando codifico mi piace usare le collezioni tipizzate, il metodo più veloce è usare "STC Generator" di Pierre oppure andare su MSDN alla voce "CollectionBase class",  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionscollectionbaseclasstopic.asp, copiare e incollare la classe di esempio (una collectionBase di Int16) e fare replace di Int16 con il tipo di cui voglio creare la collezione. Ma è sufficiente? No, a mio parere occorre sistemare anche il metodo OnValidate. L'esempio MSDN inviterebbe a scrive:   protected override void OnValidate( Object value )  {      if ( value.GetType() != Type.GetType("MyNamspace.MyType") )         throw new ArgumentException( "value must be of type MyType.", "value" );   } Che bruttura dico io! :( Io prefesisco scrivere:   protected override void OnValidate( Object value ) ...

«July»
SunMonTueWedThuFriSat
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456