<?xml version="1.0" encoding="iso-8859-15"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><channel><title>blogs.ASPItalia.com</title><link>http://blogs.aspitalia.com//rickyvr//</link><description>blogs.ASPItalia.com</description><language>it-it</language><copyright>1998-2013 ASPItalia.com/blogs.ASPItalia.com</copyright><generator>Generated by feed.ASPItalia.com 'Cortana' 2013.6.5</generator><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><sy:updateBase>1998-01-01T12:00+00:00</sy:updateBase><lastBuildDate>Wed, 04 Apr 2007 13:38:00 GMT</lastBuildDate><image><title>blogs.ASPItalia.com</title><url>http://gui.aspitalia.com/images/aspitalia/syndication.gif</url><link>http://blogs.aspitalia.com//rickyvr//</link></image><item><title>Immagini animate per l&amp;#39;UpdateProgress</title><link>http://blogs.aspitalia.com/rickyvr/post2010/Immagini-Animate-UpdateProgress.aspx</link><pubDate>Wed, 04 Apr 2007 13:38:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=2010" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Ripescando un vecchio post di ScottGu, sono arrivato su un sito dove è possibile trovare una raccolta di icone animate utilissime per dare un tocco di dinamicità al controllo AJAX UpdateProgress.&lt;/p&gt;&lt;p&gt;Il sito in questione è questo: &lt;a href="http://www.napyfab.com/ajax-indicators/"&gt;http://www.napyfab.com/ajax-indicators/&lt;/a&gt;. Lo segnalo per chi se lo fosse perso nel dimenticatoio. Ce n'è per tutti i gusti!&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/AJAX/" rel="tag"&gt;AJAX&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_AJAX/" rel="tag"&gt;ASP.NET AJAX&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post2010/Immagini-Animate-UpdateProgress.aspx"&gt;&lt;em&gt;Immagini animate per l&amp;#39;UpdateProgress&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, AJAX, ASP.NET, ASP.NET 2.0, ASP.NET AJAX</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post2010/Immagini-Animate-UpdateProgress.aspx</guid><slash:comments>3</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post2010/Immagini-Animate-UpdateProgress.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS2010.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=2010</trackback:ping></item><item><title>Disponibile la CTP di SandCastle</title><link>http://blogs.aspitalia.com/rickyvr/post1706/Disponibile-CTP-SandCastle.aspx</link><pubDate>Sun, 30 Jul 2006 22:55:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1706" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Con l'uscita di Visual Studio 2005 il buon vecchio NDoc, il tool per generare automaticamente la documentazione dei progetti di sviluppo realizzati con VS, è andato a farsi benedire... Nel senso che non era più funzionante...&lt;/p&gt;&lt;p&gt;In questi mesi ho cercato/aspettato di trovare una alternativa, dato che in più di un'occasione NDoc in passato si è rivelato davvero prezioso. Finalmente l'alternativa è arrivata: si chiama &lt;strong&gt;SandCastle&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Si può scaricare la CTP &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&amp;amp;displaylang=en" target="_blank"&gt;cliccando qui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/.NET_Framework/" rel="tag"&gt;.NET Framework&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/.NET_Framework_2.0/" rel="tag"&gt;.NET Framework 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post1706/Disponibile-CTP-SandCastle.aspx"&gt;&lt;em&gt;Disponibile la CTP di SandCastle&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, .NET Framework, .NET Framework 2.0, Visual Studio</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post1706/Disponibile-CTP-SandCastle.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post1706/Disponibile-CTP-SandCastle.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS1706.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1706</trackback:ping></item><item><title>TestDriven.NET e Code Coverage anche per le versioni Express</title><link>http://blogs.aspitalia.com/rickyvr/post1445/TestDriven.NET-Code-Coverage-Versioni-Express.aspx</link><pubDate>Tue, 31 Jan 2006 09:30:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1445" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;TestDriven.NET è un add-in gratuito a supporto dello unit testing per tutte le versioni di Visual Studio (Visual Studio .NET 2002, 2003, Visual Studio 2005). La versione corrente (in Beta 2) supporta molti framework per lo unit testing come NUnit, MbUnit e Team System ed è totalmente compatibile con tutte le versioni del .NET Framework.&lt;/p&gt;&lt;p&gt;Come rilevato in questo &lt;a href="http://www.hanselman.com/blog/CodeCoverageComesToTheMasses.aspx" target="_blank"&gt;post&lt;/a&gt;, TestDriven.NET offre l'integrazione per il code coverage (e non solo) per tutte le versioni di Visual Studio, Express comprese!!! Direi che si tratta di una buona cosa che permette a chiunque di poter sviluppare e testare il software prodotto applicando il TDD con qualsiasi versione della famiglia Visual Studio.&lt;/p&gt;&lt;p&gt;Per scaricare TestDriven.NET: &lt;a href="http://www.testdriven.net/" target="_blank"&gt;http://www.testdriven.net&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Visual_Studio/" rel="tag"&gt;Visual Studio&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post1445/TestDriven.NET-Code-Coverage-Versioni-Express.aspx"&gt;&lt;em&gt;TestDriven.NET e Code Coverage anche per le versioni Express&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, Visual Studio</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post1445/TestDriven.NET-Code-Coverage-Versioni-Express.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post1445/TestDriven.NET-Code-Coverage-Versioni-Express.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS1445.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1445</trackback:ping></item><item><title>NUnit 2.2.6</title><link>http://blogs.aspitalia.com/rickyvr/post1433/NUnit-2.2.6.aspx</link><pubDate>Mon, 23 Jan 2006 16:00:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1433" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Il 21 gennaio scorso è stata rilasciata la versione 2.2.6 di NUnit, il celeberrimo tool per effettuare &lt;strong&gt;test unitari&lt;/strong&gt; nell'ambito dei progetti sviluppati con tecnologia .NET (Framework 1.1 e 2.0).&lt;/p&gt;&lt;p&gt;La nuova versione corregge alcuni bachi ed introduce alcune nuove funzionalità, tra cui la possibilità di effettuare l'installazione con un profilo non amministrativo.&lt;/p&gt;&lt;p&gt;L'URL da cui è possibile effettuare il download è il seguente:&lt;br /&gt;&lt;a href="http://nunit.org/index.php?p=download"&gt;http://nunit.org/index.php?p=download&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post1433/NUnit-2.2.6.aspx"&gt;&lt;em&gt;NUnit 2.2.6&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post1433/NUnit-2.2.6.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post1433/NUnit-2.2.6.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS1433.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1433</trackback:ping></item><item><title>Collezioni e generics</title><link>http://blogs.aspitalia.com/rickyvr/post1339/Collezioni-Generics.aspx</link><pubDate>Mon, 07 Nov 2005 22:45:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1339" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Visto che al Real Code Day abbiamo parlato di collezioni tipizzate e, in particolare, delle interfacce che una collezione deve implementare e della classe astratta CollectionBase, mi sembrava interessante proporre questa tabellina riassuntiva che mette in evidenza la corrispondenza dei tipi relativi al namespace &lt;em&gt;System.Collection&lt;/em&gt; della versione 1.x del framework e i nuovi tipi Generics della versione 2.0.&lt;/p&gt;&lt;p&gt;In particolare mi piace sottolineare la corrispondenza che esiste tra CollectionBase e Collection&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt; &lt;t /&gt;e tra ArrayList&lt;t /&gt; e List&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&amp;lt;T&amp;gt;.&lt;/p&gt;&lt;p&gt;Il tipo List&amp;lt;T&amp;gt; corrisponde all'ArrayList tipizzato nella versione Generics. La collezione generica per la realizzazione di collezioni tipizzate con la versione 2.0 del framework è Collection&amp;lt;T&amp;gt; che equivale alla precedente CollectionBase (anche se non è astratta) e che utilizza un List&amp;lt;T&amp;gt; internamente per contenere l'elenco di dati.&lt;/p&gt;&lt;p&gt;Collection&amp;lt;T&amp;gt; implementa le interfacce ICollection, IList, IEnumerable, ICollection&amp;lt;T&amp;gt;, IList&amp;lt;T&amp;gt;, IEnumerable&amp;lt;T&amp;gt; ed è espressamente pensata per essere la classe base per le collezioni tipizzate nella versione 2.0. List&amp;lt;T&amp;gt; implementa le stesse interfacce ed un tipo che espone una marea di metodi per l'ordinamento, la ricerca e la manipolazione dei dati in esso contenuti. Collection&amp;lt;T&amp;gt; ha una interfaccia più snella e funge da wrapper per l'oggetto List&amp;lt;T&amp;gt; incapsulato.&lt;/p&gt;&lt;p&gt;Come dice anche il buon &lt;a title="Andrea Saltarello" href="http://blogs.ugidotnet.org/pape" target="_blank"&gt;Andrea&lt;/a&gt;, l'interfaccia di List&amp;lt;T&amp;gt; è dichiarata da Microsoft stessa troppo ricca per le API pubbliche, &lt;span style="COLOR: black; FONT-FAMILY: MS Shell Dlg"&gt;quindi per proprietà e metodi (argomenti, return value) bisognerebbe usare sempre Collection&amp;lt;T&amp;gt;.&lt;/span&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;table style="FONT-FAMILY: Verdana" cellspacing="0" cellpadding="3" width="600"&gt;&lt;tbody&gt;&lt;tr style="BORDER-BOTTOM-WIDTH: 1px; VERTICAL-ALIGN: middle; BACKGROUND-COLOR: #000000; TEXT-ALIGN: center"&gt;&lt;td style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" width="300"&gt;&lt;p align="center"&gt;&lt;b style="COLOR: #ffffff"&gt;System.Collections&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid" width="300"&gt;&lt;p align="center"&gt;&lt;b style="COLOR: #ffffff"&gt;System.Collections.Generic&lt;br /&gt;System.Collections.ObjectModel&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid; BACKGROUND-COLOR: #e0e0e0" colspan="2"&gt;&lt;p align="left"&gt;&lt;strong&gt;Le interfacce&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IEnumerator &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IEnumerator&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IEnumerable &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IEnumerable&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;ICollection &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;ICollection&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IList &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IList&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IDictionary &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IDictionary&lt;k,v /&gt;&lt;k,v /&gt;&lt;k,t /&gt;&lt;k /&gt;&lt;/k /&gt;&amp;lt;K,V&amp;gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid; BACKGROUND-COLOR: #e0e0e0" colspan="2"&gt;&lt;p align="left"&gt;&lt;strong&gt;Le collezioni ICollection&amp;lt;T&amp;gt;&lt;/strong&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Stack&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Stack&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Queue &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Queue&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid; BACKGROUND-COLOR: #e0e0e0" colspan="2"&gt;&lt;p align="left"&gt;&lt;strong&gt;Le collezioni IList&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;System.Array&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;System.Array [*]&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;ArrayList &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;List&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;&lt;span id="Span2"&gt;StringCollection&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;List&amp;lt;string&amp;gt;&lt;string /&gt;&lt;string /&gt;&lt;string /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;---&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;LinkedList&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;CollectionBase&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Collection&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;ReadOnlyCollectionBase &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;ReadOnlyCollection&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid; BACKGROUND-COLOR: #e0e0e0" colspan="2"&gt;&lt;p align="left"&gt;&lt;strong&gt;Le collezioni IDictionary&amp;lt;T&amp;gt;&lt;/strong&gt;&lt;t /&gt;&lt;t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;HashTable, DictionaryBase, HybridDictionary, ListDictionary&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid" valign="top"&gt;&lt;p align="left"&gt;Dictionary&amp;lt;K,V&amp;gt;&lt;k,v /&gt;&lt;k,v /&gt;&lt;k,v /&gt;&lt;k /&gt;&lt;/k /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;StringDictionary&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Dictionary&amp;lt;string,string&amp;gt;&lt;string,string /&gt;&lt;string,string /&gt;&lt;string,string /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;SortedList&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;SortedDictionary&amp;lt;K,V&amp;gt;&lt;k,v /&gt;&lt;k,v /&gt;&lt;k,v /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;&lt;span id="nsrTitle"&gt;NameObjectCollectionBase &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;SortedDictionary&amp;lt;string,object&amp;gt;&lt;string,object /&gt;&lt;string,object /&gt;&lt;string,object /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;&lt;span id="Span1"&gt;NameValueCollection&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;SortedDictionary&amp;lt;string,string[]&amp;gt;&lt;string,string[] /&gt;&lt;string,string[] /&gt;&lt;string,string[] /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid; BACKGROUND-COLOR: #e0e0e0" colspan="2"&gt;&lt;p align="left"&gt;&lt;strong&gt;Comparazione&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;System.IComparable &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;IComparable&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Comparer &lt;/p&gt;&lt;/td&gt;&lt;td style="BORDER-RIGHT: #e0e0e0 1px solid; BORDER-TOP: #e0e0e0 1px solid; BORDER-LEFT: #e0e0e0 1px solid; BORDER-BOTTOM: #e0e0e0 1px solid"&gt;&lt;p align="left"&gt;Comparer&amp;lt;T&amp;gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;t /&gt;&lt;/t /&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;[*] In &lt;em&gt;System.Array&lt;/em&gt; sono stati aggiunti numerosi metodi generici per elaborare in modo tipizzato i vettori.&lt;/p&gt;&lt;p&gt;Ringrazio &lt;a title="Luca Minudel" href="http://blogs.ugidotnet.org/luka" target="_blank"&gt;(luKa)&lt;/a&gt; e &lt;a title="Andrea Saltarello" href="http://blogs.ugidotnet.org/pape" target="_blank"&gt;Andrea&lt;/a&gt; per il confronto di idee. ;)&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post1339/Collezioni-Generics.aspx"&gt;&lt;em&gt;Collezioni e generics&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post1339/Collezioni-Generics.aspx</guid><slash:comments>3</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post1339/Collezioni-Generics.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS1339.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1339</trackback:ping></item><item><title>Non tutti sanno dell&amp;#39;esistenza di IRepeatInfoUser</title><link>http://blogs.aspitalia.com/rickyvr/post906/Sanno-Esistenza-IRepeatInfoUser.aspx</link><pubDate>Fri, 11 Feb 2005 23:36:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=906" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Si parla di questa interfaccia poco documentata in un articolo segnalatomi direttamente da &lt;a title="Dino Esposito" href="http://weblogs.asp.net/despos/" target="_blank"&gt;Dino&lt;/a&gt; e da lui stesso scritto. L'articolo parla dei controlli data-bound in ASP.NET 2.0 ed è reperibile in MSDN Library cliccando &lt;a title="MSDN Library" href="http://msdn.microsoft.com/asp.net/archive/default.aspx?pull=/library/en-us/dnaspp/html/databound.asp" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Questa interfaccia esiste anche nella versione attuale del Framework in System.Web.UI.WebControls. Viene implementata dai controlli DataList, CheckBoxList e RadioButtonList.&lt;/p&gt;&lt;p /&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post906/Sanno-Esistenza-IRepeatInfoUser.aspx"&gt;&lt;em&gt;Non tutti sanno dell&amp;#39;esistenza di IRepeatInfoUser&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, ASP.NET, ASP.NET 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post906/Sanno-Esistenza-IRepeatInfoUser.aspx</guid><slash:comments>2</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post906/Sanno-Esistenza-IRepeatInfoUser.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS906.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=906</trackback:ping></item><item><title>Cambiamenti della Beta 2 di ASP.NET</title><link>http://blogs.aspitalia.com/rickyvr/post747/Cambiamenti-Beta-ASP.NET.aspx</link><pubDate>Tue, 16 Nov 2004 20:30:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=747" border="0" style="width:1px; height:1px;" /&gt;&lt;p align="justify"&gt;In relazione a quanto già espresso in passato circa le novità introdotte con le &lt;a href="http://blogs.aspitalia.com/rickyvr/post589.aspx" target="_blank"&gt;partial classes&lt;/a&gt; e in aggiunta a quanto già espresso da &lt;a href="http://blogs.aspitalia.com/daniele/post746.aspx" target="_blank"&gt;Daniele&lt;/a&gt;, non posso fare a meno di accogliere in maniera negativa la novità relativa al &lt;a href="http://msdn.microsoft.com/asp.net/whidbey/beta2update.aspx" target="_blank"&gt;Compilation Model&lt;/a&gt; introdotta nella versione Beta 2 di ASP.NET.&lt;/p&gt;&lt;p align="justify"&gt;La direttiva &lt;em&gt;Page&lt;/em&gt; cambia, &lt;i&gt;compilewith&lt;/i&gt; diventa &lt;i&gt;codefile&lt;/i&gt; e &lt;i&gt;classname&lt;/i&gt; ritorna ad essere &lt;i&gt;inherits&lt;/i&gt;. La classe &lt;em&gt;inherits&lt;/em&gt; definisce di nuovo una classe base (bah!) e deve derivare a seconda dei casi da &lt;em&gt;Page&lt;/em&gt;, &lt;em&gt;UserControl&lt;/em&gt; oppure &lt;em&gt;MasterPage&lt;/em&gt; o relativi figli. I gestori di evento nel code-behind diventano &lt;em&gt;public&lt;/em&gt; o &lt;em&gt;protected&lt;/em&gt; (invece che &lt;em&gt;private&lt;/em&gt;).&lt;/p&gt;&lt;p align="justify"&gt;La modifica viene giustificata in questi termini...&lt;/p&gt;&lt;p align="justify"&gt;&lt;em&gt;The goal is to improve the code-behind and code-separation experience and enable the partial class paradigm to be used to improve the code-behind experience while continuing to maintain a syntax and functionality that is very similar to ASP.NET 1.x.&lt;/em&gt;&lt;/p&gt;&lt;p align="justify"&gt;Quindi è la compatibilità con il passato che ha spinto in questa direzione, anche se personalmente non lo ritengo un &lt;em&gt;improvement &lt;/em&gt;(come mi vogliono far credere), ma un passo indietro bello e buono. Come soluzione non mi piace, non lo nascondo, preferivo una rottura più sostanziale con il passato, come già era nella Beta 1.&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post747/Cambiamenti-Beta-ASP.NET.aspx"&gt;&lt;em&gt;Cambiamenti della Beta 2 di ASP.NET&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post747/Cambiamenti-Beta-ASP.NET.aspx</guid><slash:comments>2</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post747/Cambiamenti-Beta-ASP.NET.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS747.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=747</trackback:ping></item><item><title>Test plan di Whidbey Beta 2</title><link>http://blogs.aspitalia.com/rickyvr/post707/Test-Plan-Whidbey-Beta.aspx</link><pubDate>Wed, 27 Oct 2004 12:13:00 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=707" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Su segnalazione di &lt;a href="http://blogs.ugidotnet.org/gabrielc/archive/2004/10/27/4851.aspx" target="_blank"&gt;Gabriele Castellani&lt;/a&gt;, segnalo un &lt;a href="http://weblogs.asp.net/scottgu/archive/2004/10/23/246709.aspx" target="_blank"&gt;post sul ScottGu's Blog&lt;/a&gt; a proposito di Whidbey ed il relativo test plan. Tra le altre cose si legge:&lt;/p&gt;&lt;p&gt;&lt;em&gt;My test team is in the midst of completing a full test pass right now in preparation for our zero bug bounce push for Beta2.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;A full test pass is where we run and analyze every single automated test we have currently built for the product, and then also manually run every test we plan to automate before the product ships.&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;My team currently has &lt;strong&gt;102,000 test cases which test 505,000 different test scenarios&lt;/strong&gt; ? so our full test passes tend to be fairly involved things.&lt;/em&gt;&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;&lt;a href="http://blogs.ugidotnet.org/gabrielc/archive/2004/10/27/4851.aspx"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/Off_Topic/" rel="tag"&gt;Off Topic&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post707/Test-Plan-Whidbey-Beta.aspx"&gt;&lt;em&gt;Test plan di Whidbey Beta 2&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, Off Topic</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post707/Test-Plan-Whidbey-Beta.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post707/Test-Plan-Whidbey-Beta.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS707.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=707</trackback:ping></item><item><title>Cool Tips and Tricks with ASP.NET 2.0</title><link>http://blogs.aspitalia.com/rickyvr/post618/Cool-Tips-And-Tricks-With-ASP.NET-2.0.aspx</link><pubDate>Thu, 16 Sep 2004 21:00:25 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=618" border="0" style="width:1px; height:1px;" /&gt;&lt;p align="justify"&gt;Al VS Live di Orlando dello scorso 14 settembre Scott Guthrie ha presentato un po' delle nuove funzionalità che riguarderanno la prossima versione di ASP.NET attraverso una carrellata di slides intervallate da esempi di codice. Tutto il materiale della presentazione è disponibile su &lt;a href="http://www.scottgu.com/" target="_blank"&gt;www.scottgu.com&lt;/a&gt;.&lt;/p&gt;&lt;p align="justify"&gt;Gli argomenti trattati sono numerosi e interessanti (e correlati di codice):&lt;/p&gt;&lt;p align="justify"&gt;&lt;strong&gt;01.&lt;/strong&gt; Cross Page Post-backs&lt;br /&gt;&lt;strong&gt;02.&lt;/strong&gt; Validation Groups&lt;br /&gt;&lt;strong&gt;03.&lt;/strong&gt; Wizard Control and Profile Registration&lt;br /&gt;&lt;strong&gt;04.&lt;/strong&gt; URL Rewriting/Mapping for Vanity Urls&lt;br /&gt;&lt;strong&gt;05.&lt;/strong&gt; Config-based Control Registration&lt;br /&gt;&lt;strong&gt;06.&lt;/strong&gt; &amp;quot;No-Compile&amp;quot; Pages&lt;br /&gt;&lt;strong&gt;07.&lt;/strong&gt; Building CMS System w/ File System Provider&lt;br /&gt;&lt;strong&gt;08.&lt;/strong&gt; Client Script Goodies, Client Callbacks&lt;br /&gt;&lt;strong&gt;09.&lt;/strong&gt; XML Databinding to build a Blog Reader&lt;br /&gt;&lt;strong&gt;10.&lt;/strong&gt; Dynamic Master Pages&lt;br /&gt;&lt;strong&gt;11.&lt;/strong&gt; Localization&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post618/Cool-Tips-And-Tricks-With-ASP.NET-2.0.aspx"&gt;&lt;em&gt;Cool Tips and Tricks with ASP.NET 2.0&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, ASP.NET 2.0, ASP.NET</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post618/Cool-Tips-And-Tricks-With-ASP.NET-2.0.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post618/Cool-Tips-And-Tricks-With-ASP.NET-2.0.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS618.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=618</trackback:ping></item><item><title>Partial classes</title><link>http://blogs.aspitalia.com/rickyvr/post589/Partial-Classes.aspx</link><pubDate>Mon, 06 Sep 2004 09:01:36 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=589" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Ieri ho fatto un po' di prove circa l'uso di alcuni dei nuovi controlli di Whidbey. Devo dire che mi hanno davvero impressionato i controlli per la gestione dei menù, del path di navigazione e la splendida tree-view. Se il tutto viene combinato con le masterpages, il gioco è fatto!&lt;/p&gt;&lt;p&gt;Con il meccanismo delle partial classes finalmente si rispetta il fatto che una pagina Web rappresenta un unico oggetto: questa è un'assunzione che solitamente viene fatta anche in fase di modellazione e progettazione. Una pagina è quindi una classe dove vengono inseriti sia gli elementi costituenti della UI, sia le azioni ad essi associate. Se ci si pensa bene, formalmente questo è decisamente più corretto rispetto all'approccio precedente del code-behind, dove interfaccia e metodi stavano in due classi diverse legate da un rapporto di ereditarietà.&lt;/p&gt;&lt;p&gt;Con il nuovo paradigma, se si deve progettare un'applicazione, la si può modellare individuando le pagine (e quindi gli oggetti) in funzione dei casi d'uso e rappresentarle tramite classi. Personalmente lo trovo un grosso e significativo miglioramento.&lt;/p&gt;&lt;p&gt;A queste riflessioni si aggiunge un'ulteriore constatazione: finalmente è possibile rispettare i contesti di visibilità per tutti gli elementi di una pagina. Mi è sempre piaciuto poco il fatto di dover definire come public o protected gli elementi dell'interfaccia all'interno della classe del code-behind. Ho peraltro sempre apprezzato lo sforzo fatto per separare il codice dalla UI. Con il nuovo paradigma vengono presi due piccioni con una fava: separazione UI/codice e corretta visibilità. Sempre parlando di contesto di visibilità, ci terrei infine a sottolineare un ulteriore aspetto: la possibilità di richiamare membri public delle classi relative alle masterpages nell'ambito delle pagine ASPX. Tramite la direttiva MasterType e l'oggetto Master è possibile esporre alle pagine &amp;quot;contenuto&amp;quot; informazioni della pagina master.&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post589/Partial-Classes.aspx"&gt;&lt;em&gt;Partial classes&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post589/Partial-Classes.aspx</guid><slash:comments>14</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post589/Partial-Classes.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS589.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=589</trackback:ping></item><item><title>Introducing ASP.NET 2.0 (MONDADORI)</title><link>http://blogs.aspitalia.com/rickyvr/post575/Introducing-ASP.NET-2.0-MONDADORI.aspx</link><pubDate>Mon, 30 Aug 2004 10:16:20 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=575" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;Mi ha telefonato la Mondadori sabato pomeriggio e mi ha confermato che sarà disponibile a breve (settembre/ottobre) la versione italiana del libro:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dino Esposito - Introducing ASP.NET 2.0&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Io l'avevo prenotato già da un paio di mesi... e infatti mi hanno chiamato per avvisarmi.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href="http://tags.aspitalia.com/ASP.NET/" rel="tag"&gt;ASP.NET&lt;/a&gt;, &lt;a href="http://tags.aspitalia.com/ASP.NET_2.0/" rel="tag"&gt;ASP.NET 2.0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post575/Introducing-ASP.NET-2.0-MONDADORI.aspx"&gt;&lt;em&gt;Introducing ASP.NET 2.0 (MONDADORI)&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0, ASP.NET, ASP.NET 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post575/Introducing-ASP.NET-2.0-MONDADORI.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post575/Introducing-ASP.NET-2.0-MONDADORI.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS575.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=575</trackback:ping></item><item><title>I controlli in ASP.NET 2.0</title><link>http://blogs.aspitalia.com/rickyvr/post487/Controlli-ASP.NET-2.0.aspx</link><pubDate>Mon, 12 Jul 2004 22:46:36 GMT</pubDate><description>&lt;img src="http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=487" border="0" style="width:1px; height:1px;" /&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Stavo guardando le differenze tra la versione attuale e la versione 2.0 del Framework per quanto riguarda i controlli Web e ho notato un po' di cose interessanti. Tutti sappiamo che la superclasse dei controlli è &lt;i&gt;Control&lt;/i&gt; da cui derivano la classe &lt;i&gt;TemplateControl&lt;/i&gt; (classe base di &lt;i&gt;Page&lt;/i&gt; e &lt;i&gt;UserControl&lt;/i&gt;), i WebControls e gli HtmlControls. Sono rimasto impressionato dalla quantità di nuovi controlli; ecco un elenco dei più significativi:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1.&lt;/b&gt; i controlli relativi ai dati (la DataGrid non c'è più - c'è la GridView e poi altri controlli più o meno noti);&lt;br /&gt;&lt;b&gt;2.&lt;/b&gt; i WebControls (sono una marea, c'è anche la TreeView);&lt;br /&gt;&lt;b&gt;3.&lt;/b&gt; WebControls.Content e WebControls.ContentPlaceHolder (servono per rendere modulari le pagine);&lt;br /&gt;&lt;b&gt;4.&lt;/b&gt; controlli Validators (i soliti);&lt;br /&gt;&lt;b&gt;5.&lt;/b&gt; controlli Navigation (Menu, SiteMapPath);&lt;br /&gt;&lt;b&gt;6.&lt;/b&gt; controlli Login (Login, LoginView, LoginStatus, ecc.);&lt;br /&gt;&lt;b&gt;7.&lt;/b&gt; WebPart, direttamente da SharePoint... :) (appartengono anche loro al namespace ASP);&lt;br /&gt;&lt;b&gt;8.&lt;/b&gt; i controlli HTML soliti;&lt;br /&gt;&lt;b&gt;9.&lt;/b&gt; i controlli Literal.&lt;br /&gt;&lt;br /&gt;Sia la classe &lt;i&gt;Control&lt;/i&gt; che la classe &lt;i&gt;TemplateControl&lt;/i&gt; implementano un bel po' di interfacce nuove (vedi sotto).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font face="Verdana" size="2"&gt;Versione 1.1&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class Control&lt;br /&gt;   Implements IComponent, _&lt;br /&gt;   IDisposable, _&lt;br /&gt;   IParserAccessor, _&lt;br /&gt;   IDataBindingsAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;MustInherit Public Class TemplateControl&lt;br /&gt;   Inherits Control&lt;br /&gt;   Implements INamingContainer&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;b&gt;Versione 2.0&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class Control&lt;br /&gt;   Implements IComponent, _&lt;br /&gt;   IDisposable, _&lt;br /&gt;   IParserAccessor, _&lt;br /&gt;   IUrlResolutionService, _&lt;br /&gt;   IDataBindingsAccessor, _&lt;br /&gt;   IControlBuilderAccessor, _&lt;br /&gt;   IControlDesignerAccessor, _&lt;br /&gt;   IExpressionsAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;MustInherit Public Class TemplateControl&lt;br /&gt;   Inherits Control&lt;br /&gt;   Implements INamingContainer, _&lt;br /&gt;   IFilterResolutionService, _&lt;br /&gt;   IThemeResolutionService&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Le classi &lt;i&gt;Page&lt;/i&gt;, &lt;i&gt;WebControl&lt;/i&gt; e &lt;i&gt;HtmlControl&lt;/i&gt; sono rimaste invariate come implementazione e derivazione:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;MustInherit Public Class HtmlControl&lt;br /&gt;   Inherits Control&lt;br /&gt;   Implements IAttributeAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class WebControl&lt;br /&gt;   Inherits Control&lt;br /&gt;   Implements IAttributeAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class Page&lt;br /&gt;   Inherits TemplateControl&lt;br /&gt;   Implements IHttpHandler&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Un discorso diverso va fatto per la classe &lt;i&gt;UserControl&lt;/i&gt;, che tra le altre cose implementa direttamente l'interfaccia &lt;i&gt;INamingContainer&lt;/i&gt; (container di denominazione):&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font face="Verdana" size="2"&gt;Versione 1.1&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class UserControl&lt;br /&gt;   Inherits TemplateControl&lt;br /&gt;   Implements IAttributeAccessor, _&lt;br /&gt;   IUserControlDesignerAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font face="Verdana" size="2"&gt;Versione 2.0&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;font size="2"&gt;Public Class UserControl&lt;br /&gt;   Inherits TemplateControl&lt;br /&gt;   Implements IAttributeAccessor,&lt;br /&gt;   INonBindingContainer,&lt;br /&gt;   INamingContainer,&lt;br /&gt;   IUserControlDesignerAccessor&lt;/font&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Ecco un po' di immagini della toolbar con i vari controlli disponibili.&lt;br /&gt;C'è davvero da sbizzarrirsi!!! :)&lt;/font&gt;&lt;/p&gt;&lt;center&gt;&lt;table id="AutoNumber1" style="border-collapse: collapse" bordercolor="#111111" cellspacing="5" cellpadding="0" width="600" border="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top" align="center" width="33%"&gt;&lt;img height="677" src="http://www.riccardogolia.it/aspitalia/blog/ctl1.jpg" width="192" /&gt;&lt;/td&gt;&lt;td valign="top" align="center" width="34%"&gt;&lt;img height="672" src="http://www.riccardogolia.it/aspitalia/blog/ctl2.jpg" width="192" /&gt;&lt;/td&gt;&lt;td valign="top" align="center" width="33%"&gt;&lt;img height="634" src="http://www.riccardogolia.it/aspitalia/blog/ctl3.jpg" width="192" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/center&gt;&lt;p&gt;Continua a leggere &lt;a href="http://blogs.aspitalia.com/rickyvr/post487/Controlli-ASP.NET-2.0.aspx"&gt;&lt;em&gt;I controlli in ASP.NET 2.0&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.aspitalia.com/"&gt;(C) 2013 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</description><dc:creator>Riccardo Golia</dc:creator><category>DotNet 2.0</category><guid isPermaLink="true">http://blogs.aspitalia.com/rickyvr/post487/Controlli-ASP.NET-2.0.aspx</guid><slash:comments>0</slash:comments><wfw:comment>http://blogs.aspitalia.com/rickyvr/post487/Controlli-ASP.NET-2.0.aspx#feedback</wfw:comment><wfw:commentRss>http://blogs.aspitalia.com/rickyvr/CommentRSS487.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=487</trackback:ping></item></channel></rss>