<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetcampania.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Articoli</title><link>http://dotnetcampania.org/wikis/articoli/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Creazione di un sito web con Orchard - Terza Parte</title><link>http://dotnetcampania.org/wikis/articoli/creazione-di-un-sito-web-con-orchard-terza-parte/revision/0.aspx</link><pubDate>Wed, 29 Jun 2011 15:28:23 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:30</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 29/06/2011 17:28:23&lt;br /&gt;
&lt;h2&gt;Content Types&lt;/h2&gt;
&lt;h3 align="justify"&gt;Creazione di un nuovo Content Type&lt;/h3&gt;
&lt;p align="justify"&gt;Nella colonna sinistra della home page del sito web in esame, vengono visualizzate una serie di news che possono essere facilmente gestite da orchard creando un nuovo Content Type, cio&amp;egrave; un nuovo tipo, che chiameremo News, che far&amp;agrave; parte delle entit&amp;agrave; gestite dalla nostra dashboard. E possibile creare un nuovo content type accedendo alla dashboard, selezionando la voce Content, il tab Contet Type e clicccando sul pulsante Create new type.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/50.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/50.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ci viene chiesto il nome che vogliamo dare alla nuova entit&amp;agrave;, che sar&amp;agrave; utilizzato anche come suggerimento per l&amp;#39;identificativo dello stesso. Digitiamo News e confermiamo cliccando sul pulsante Create.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/51.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/51.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ogni Content Type pu&amp;ograve; essere definito da un insieme di Content Part e da un insieme di Field, dato che desideriamo creare successivamente una lista di news, indichiamo come content part da aggiungere al nostro type quella denominata Conteinable, che abilita il nostro nuovo tipo ad essere inserito all&amp;#39;interno di un contenitore (come le liste che vedremo tra poco) e che richiede necessariamente anche l&amp;#39;aggiunta della Part Common.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/52.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/52.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Cliccando sul tasto Save ci viene presentata la finestra per la gestione del nuovo Content Type, da cui possiamo aggiungere i Field necessari alla sua definizione. Cliccando sul pulsante Add Field, possiamo raggiungere la pagina per la creazione del nuovo campo, digitiamone il nome, Titolo, e indichaimo il tipo da utilizzate, attualmente l&amp;#39;unico installato, Text Field. Confermiamo cliccando sul tasto Save.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/53.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/53.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Per i restanti campi abbiamo bisogno di installare dei nuovi Field Type dalla Gallery, clicchiamo quindi sulla voce Modules, selezioniamo il Tab Gallery, nella casella di testo per la ricerca digitiamo la parola &amp;quot;field&amp;quot; e clicchiamo sul pulsante Search. Verrano visualizzati i vari field a disposizione&amp;nbsp; nella gallery di Orchard, installiamo DateTimeField e Html Field.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/55.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/55.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Tornando al nostro Content Type, possiamo adesso utilizzare i field installati per la crezione dei campi mancanti.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/57.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/57.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Aggiungendo quindi i field Contentuto (HtmlField) e Data (DateTimeField) abbiamo ultimato il nostro Content Type News.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/58.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/58.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 align="justify"&gt;Creazione di una lista&lt;/h3&gt;
&lt;p align="justify"&gt;Possiamo adesso creare la lista di news che utilizzeremo per la nostra home page, cliccando sulla voce New List, settiamo il Title a News e specifichiamo che questa lista conterr&amp;agrave; elementi di tipo News.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/59.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/59.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Creando una nuova News, selezionando la voce New News, potremo a questo punto associare la nuova entit&amp;agrave; alla lista appena creata grazie a un&amp;#39;apposita dropdownlist etichettata Add to. Digitiamo il contenuto della news, selezioniamo la data, indichiamo il titolo e salviamo cliccando sul pulsante Save.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/60.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/60.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 align="justify"&gt;Creazione di una Widget&lt;/h3&gt;
&lt;p align="justify"&gt;La creazione della lista non ne determina l&amp;#39;automatica pubblicazione sul sito, anche perch&amp;egrave; dobbiamo indicare dove vogliamo che venga visualizzata. Per fare questo dobbiamo creare una nuova Widget selezionando la voce Widgets dal menu principale della Dashboard, selezionare il layer su cui vogliamo lavorare, Default nel nostro caso perch&amp;egrave; vogliamo che la lista delle news compaia in ogni pagina, e cliccare sul pulsante Add in corrispondenza della zona in cui vogliamo aggiungere la Widget, AsideFirst nel nostro caso visto che vogliamo che compaia nella colonna a sinistra rispetto al contenuto principale.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/62.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/62.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Selezioniamo il tipo di widget che vogliamo realizzare, un Container Widget in questo caso, definiamo un titolo, in questo caso Ultime News, e selezioniamo il contenitore da utilizzare, la lista News.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/63.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/63.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Cliccando sul tasto Salva otteniamo il risultato cercato:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/65.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/65.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 align="justify"&gt;Customizzazione del template per la Widget&lt;/h3&gt;
&lt;p align="justify"&gt;Non ci resta che dare alla widget l&amp;#39;aspetto dettato dal template scelto dal cliente, utilizzando di nuovo i tool per designer messo a disposizione da Orchard. Lo scopo in questo caso &amp;egrave; creare un alternate, un file cshtml alternativo da utilizzare per il rendering della widget selezionata, che ci permetta di customizzare il modo in cui viene renderizzato il contenuto della widget stessa.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/66.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/66.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Torniamo quindi in WebMatrix e andiamo ad editare il file appena creato, sostituendo Display(items) con un foreach. Questo ci permette di non lasciare al comportamento di base della widget, che aggiungerebbe dei tag di contorno che creano rumore per il nostro template, il rendering degli elementi della lista.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/67.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/67.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Generiamo infine il template per il contenuto della lista, Content-News.cshtml...&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/69.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/69.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;... e editiamolo in modo da generare l&amp;#39;html del template scelto dal cliente:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/70.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/70.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ed ecco il risultato finale:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/news.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard3/news.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Nel prossimo e ultimo articolo vedremo come ultimare il sito completando il template e aggiungendo un po&amp;#39; di moduli dalla gallery.&lt;/p&gt;</description></item><item><title>Creazione di un sito web con Orchard - Seconda Parte</title><link>http://dotnetcampania.org/wikis/articoli/creazione-di-un-sito-web-con-orchard-seconda-parte/revision/0.aspx</link><pubDate>Fri, 17 Jun 2011 07:13:39 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:29</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 17/06/2011 09:13:39&lt;br /&gt;
&lt;h1&gt;Creazione di un sito web con Orchard - Seconda Parte&lt;/h1&gt;
&lt;h2&gt;Customizzazione del tema&lt;/h2&gt;
&lt;h3 align="justify"&gt;Asp.Net MVC e Razor&lt;/h3&gt;
&lt;p align="justify"&gt;Orchard basa il suo presentation layer sul Asp.Net MVC3, utilizzando di default Razor come view engine e C# come linguaggio di programmazione. Per poter personalizzare una tema &amp;egrave; necessario quindi avere una minima conoscenza di questi elementi,&amp;nbsp; in particolare della realizzazione delle view con questa tecnologia. A differenza di Asp.Net WebForms, in Asp.Net MVC una view &amp;egrave; un elemento completamente passivo, non ha code-behind ed ha la sola responsabilit&amp;agrave; di visualizzare la UI per l&amp;#39;utente. Sar&amp;agrave; infatti il Controller a preoccuparsi di rispondere alle richieste dell&amp;#39;utente, chiedendo al Model di aggiornare il proprio stato in risposta della richiesta, ed &amp;egrave; proprio in base alla risposta del model che il controller selezioner&amp;agrave; la view successiva da visualizzare.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/mvc.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/mvc.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Una view di Asp.Net MVC che utilizza Razor e C# &amp;egrave; un file con estensione .cshtml (c sharp + html) in cui il codice C# &amp;egrave; immerso nel markup html attraverso l&amp;#39;utilizzo del simbolo @, a differenza del view engine aspx che invece utilizza i simboli &amp;lt;% %&amp;gt;. Ad esempio possiamo condizionare il rendering di un pezzo di markup html in questo semplice modo:&lt;/p&gt;
&lt;pre&gt;@if(condizione){
&amp;lt;p&amp;gt;Questo paragrafo sar&amp;agrave; stampato solo se la condizione &amp;egrave; 
vera&amp;lt;/p&amp;gt;
}&lt;/pre&gt;
&lt;p align="justify"&gt;Oppure renderizzare un numero arbitrario di volte un pezzo di markup html con un classico ciclo for:&lt;/p&gt;
&lt;pre&gt;&amp;lt;ul&amp;gt;
@foreach(var elemento in lista) 
{
&amp;lt;li&amp;gt;&amp;lt;a href=&amp;quot;@elemento.Link&amp;quot;&amp;gt;@elemento.Descrizione&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
}
&amp;lt;/ul&amp;gt;&lt;/pre&gt;
&lt;p align="justify"&gt;Come potete vedere, una delle caratteristiche di Razor &amp;egrave; quella di essere molto poco intrusivo, permettendo con una semplice @ di inserire la dinamicit&amp;agrave; necessaria alla generazione delle nostre view.&lt;/p&gt;
&lt;h3 align="justify"&gt;La view Layout di Orchard&lt;/h3&gt;
&lt;p align="justify"&gt;Tornando al nostro sito creato in Web Matrix, possiamo analizzare i file del nostro progetto cliccando sul voce del menu laterale Files. Per visualizzare i file del nostro tema invece espandiamo la radice Comap Impiantistica e l&amp;#39;elemento Themes, in cui troveremo il nostro tema comapimpiantistica: &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/25.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/25.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Espandendo l&amp;#39;elemento comapimpiantistica possiamo osservare la struttura delle cartelle di un tema:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/26.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/26.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;La cartella Content conterr&amp;agrave; le nostre immagini, mentre Scripts e Styles rispettivamente i file javascript e i css. In Views invece metteremo i nostri file .cshtml, mentre lasceremo vuota la cartella Zones. Come avremo modo di esaminare pi&amp;ugrave; avanti il file Placement.info ci permetter&amp;agrave; di indicare informazioni sul posizionamento dei vari elementi del nostro tema, mentre Theme.png e Theme.txt rappresentano rispettivamente l&amp;#39;immagine di anteprima del tema e il manifest con le informazioni sul tema che stiamo realizzando.&lt;/p&gt;
&lt;p align="justify"&gt;Per aggiungere una nuova view al nostro tema ci basta fare tasto destro sulla cartella Views e scegliere New File dal menu a tendina&amp;nbsp; che compare. A questo punto possiamo selezionare, dalla finestra che ci viene mostrata da Web Matrix, la categoria Common, il formato CSHTML, indicare il nome che vogliamo dare alla view, nel nostro caso Layout, e cliccare sul pulsante Ok.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/27.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/27.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Il file Layout.cshtml permette di definire il layout del nostro tema, un po&amp;#39; come viene fatto con le master page quando viene utilizzato aspx come view engine. E&amp;#39; proprio in questo file che andiamo a incollare l&amp;#39;html della home page del template grafico scelto dal cliente&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/29.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/29.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Copiamo quindi le immagini del template nella cartella Content, il css nella cartella Styles e l&amp;#39;html della home page nel contenuto del Layout.cshtml:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/30.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/30.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Chiaramente &amp;egrave; necessario modificare i percorsi delle immagini utilizzati nel css andando a sostituire le stringhe &amp;quot;../images/&amp;quot; in &amp;quot;../Content/images&amp;quot;, sfruttando il tool di sostituzione testo di Web Matrix.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/31.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/31.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Eliminiamo l&amp;#39;elemento radice html, head e i tag di apertura e chiusura di body, sostituendoli con un blocco di codice che permette di includere le shape di base di Orchard e il nostro foglio di stile. Per le immagini non linkate dal css, ma direttamente dal nostro html, dobbiamo specificare come generare il path in modo che sia indipendente dal path della pagina che utilizzer&amp;agrave; il layout cshtml e il percorso fisico del tema. Per fare questo utiliziamo alcuni helper forniti da Asp.Net MVC per la generazine dinamica del markup html, in particolare l&amp;#39;url helper Content e l&amp;#39;html helper fornito da Orchard per recuperare il path del tema corrente, ThemePath.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/32.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/32.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Lanciando il sito si cominciano a vedere gi&amp;agrave; i primi risultati:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/34.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/34.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Non ci resta che delimitare le sezioni del layout, che in Orchard sono dette Zone,&amp;nbsp; che saranno renderizzate dinamicamente dalle view che utilizzano il nostro layout.cshtml. Cominciamo dal menu principale, identificando la sezione di markup che visualizza le voci di menu:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/35.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/35.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Tagliamo questo markup e sostituiamolo con l&amp;#39;istruzione necessario al rendering della Zone standard di Orchard per il menu principale, denominata Navigation:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/36.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/36.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Andiamo adesso ad aggiungere un&amp;#39;altra View al nostro tema, che chiameremo Menu e in cui andremo ad incollare proprio il pezzo di markup tagliato precedentemente: questo ci permetter&amp;agrave; di rendere in un secondo momento dinamico il menu in modo che risponda agli elementi creati nella dashboard.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/37.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/37.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;La domanda&amp;nbsp; che dobbiamo farci a questo punto &amp;egrave;: dobbiamo conoscere a memoria il nome delle zone che vogliamo personalizzare, il nome delle propriet&amp;agrave; che esprimono dinamicamente i contenuti modificati nella dashboard e tutte le altre informazioni definite dal team di Orchard? Ricordando che sostanzialmente possiamo modificare qualsiasi aspetto di Orchard, anche perch&amp;egrave; ne abbiamo i sorgenti, potremmo in prima analisi pensare di andare a modificare un po&amp;#39; di cose ma in realt&amp;agrave; esiste un modulo che ci permette di visualizzare direttamente sul sito le informazioni di cui abbiamo bisogno.&lt;/p&gt;
&lt;h3 align="justify"&gt;I Designer Tools&lt;/h3&gt;
&lt;p align="justify"&gt;Il modulo in questione di chiama Designer Tools e pu&amp;ograve; essere installato dalla gallery raggiungibile dalla voce Modules della dashboard.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/38.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/38.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Dopo aver attivato il modulo il nostro sito presenter&amp;agrave; nella parte in basso un barra speciale che permette di aprire i designer tools per l&amp;#39;utilizzo:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/40.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/40.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Con i designer tools aperti il sito non risponder&amp;agrave; pi&amp;ugrave; ai click del mouse, questo perch&amp;egrave; saranno interpretati come selezione di una sezione di interesse, oppurtanamente evidenziata, le cui informazioni saranno visualizzate nei tools:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/42.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/42.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Cliccando sulle informazioni del Model per questo template possiamo esaminare le informazioni fornite alla view che ci interessa, in questo caso il Model di menu, che contiene una collezione di Item da cui possiamo recuperare il testo del menu dalla propriet&amp;agrave; Text e l&amp;#39;Href a cui si riferisce.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/43.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/43.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Possiamo quindi modificare la view Menu in modo che cicli sull&amp;#39;insieme degli item utilizzando queste propriet&amp;agrave; per generare le voci di menu:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/menu.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/menu.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Per vedere l&amp;#39;effetto ottenuto aggiungiamo la pagina Chi Siamo, creando una nuova Page dalla dashboard, inserendo del testo descrittivo e indicando di inserire una voce nel menu principale, chiamata Chi Siamo, che punti al link della pagina:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/44.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/44.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Come avevamo notato per&amp;ograve; la pagina principale e le altre pagine, tra cui anche la nostra Chi Siamo, hanno nel template un&amp;#39;impaginazione diversa, abbiamo quindi bisogno di strutturare diversamente il layout per i due casi. Nel caso della home page ci basta modificare il nome del file layout in layout-url-homepage, in questo modo Orchard utilizzer&amp;agrave; questa view come layout solo per la homepage:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/47.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/47.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;AsideFirst, Content, AsideSecond e AfterMain sono alcune delle zone del template standard di Orchard. TheThemeMachine, come mostra lo schema proprio di questo template:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/ThemeZonePreview.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/ThemeZonePreview.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;&amp;nbsp;Duplichiamo a questo punto la view, la rinominiamo in Layout.cshtml e utilizziamo l&amp;#39;html della pagina Chi Siamo per definire le zone AsideFirst, Content e Footer:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/layout.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/layout.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ottenendo cos&amp;igrave; il risultato voluto per le pagine diverse dalla Home Page:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/49.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard2/49.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Nel prossimo articolo ultimeremo il nostro tema aggiungendo gli elementi mancanti ad una corrispondenza perfetta al template scelto dal cliente.&lt;/p&gt;</description></item><item><title>Creazione di un sito web con Orchard - Prima Parte</title><link>http://dotnetcampania.org/wikis/articoli/creazione-di-un-sito-web-con-orchard-prima-parte/revision/0.aspx</link><pubDate>Thu, 09 Jun 2011 12:47:26 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:28</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 09/06/2011 14:47:26&lt;br /&gt;
&lt;h2&gt;Introduzione&lt;/h2&gt;
&lt;h3 align="justify"&gt;Che cos&amp;#39;&amp;egrave; Orchard&lt;/h3&gt;
&lt;p align="justify"&gt;Orchard &amp;egrave; un Content Management System gratuito e open source realizzato da Microsoft. Completamente modulare, ha un&amp;#39;architettura basata su tutta una serie di framework e pattern che ne rendono l&amp;#39;estendibilit&amp;agrave; uno dei suoi punti di forza, abilitando di fatto gli sviluppatori .net a realizzare praticamente qualsiasi tipo di modulo. Ed &amp;egrave; questo il segreto di Orchard: ogni suo componente &amp;egrave; un modulo e come tale pu&amp;ograve; essere installato, disinstallato, abilitato o disabilitato. Il progetto dispone gi&amp;agrave; di un&amp;#39;ampia gallery di moduli gi&amp;agrave; pronti, realizzati dal team di Orchard ma anche da sviluppatori indipendenti; noi stessi possiamo condividerne con la community del CMS. E&amp;#39; inoltre completamente personalizzabile dal punto di vista grafico, partendo da un tema gi&amp;agrave; pronto, scaricato sempre dalla gallery, o partendo completamente da zero. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/actors.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/actors.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Sono quattro le figure che ruotano attorno all&amp;#39;ecosistema Orchard: l&amp;#39;amministratore che installa e configura l&amp;#39;ambiente; lo sviluppatore che pu&amp;ograve; realizzare moduli aggiuntivi; il designer che realizza o modifica l&amp;#39;html e i css del tema da utilizzare; l&amp;#39;utente che usufruisce dei contenuti presentati. &lt;/p&gt;
&lt;h3 align="justify"&gt;Cosa vogliamo realizzare?&lt;/h3&gt;
&lt;p align="justify"&gt;Con la versione 1.1 Orchard ha gi&amp;agrave; raggiunto un grado di maturit&amp;agrave; tale da poterlo usare in produzione per progetti medio-piccoli. Lo scopo di questa serie di articoli &amp;egrave; proprio quello di mostrare come sia possibile, da zero, realizzare un sito web reale. Nel caso specifico si tratta del sito di presentazione di una piccola azienda di impianti elettrici, utilizzando un template scelto dall&amp;#39;azienda stessa, quindi nessun template della gallery di Orchard. Inoltre, nonostante sia possibile partire dai sorgenti rilasciati pubblicamente e utilizzare Visual Studio 2010 per editare alcuni componenti, useremo Web Matrix.&lt;/p&gt;
&lt;h2&gt;Creazione e configurazione del progetto&lt;/h2&gt;
&lt;h3&gt;Creazione del progetto in Web Matrix&lt;/h3&gt;
&lt;p align="justify"&gt;Il primo passo consiste nel creare il nostro progetto con Web Matrix. Cliccando su Site From Web Gallery vi verranno visualizzati i template disponibili tra cui, nella categoria CMS, troveremo Orchard. Indichiamo a questo punto il nome che vogliamo dare al sito nella casella di testo etichettata Site Name, nel nostro caso Comap Impiantistica, e clicchiamo sul tasto Next.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/1.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ci verr&amp;agrave; chiesto di accettare le condizioni di utilizzo, clicchiamo su I Accept e attendiamo qualche secondo per la creazione del progetto. A conferma avvenuta clicchiamo sul pulsante Ok.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/3.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Web Matrix configura per noi tutto l&amp;#39;ambiente di lavoro, fornendoci fin da subito la possibilit&amp;agrave; di avviare il sito, che sar&amp;agrave; hostato sulla nostra macchina locale grazie ad IIS Express. Cliccando sul link etichettato URL verr&amp;agrave; aperto il browser predefinito che visualizzer&amp;agrave; il sito web.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/6.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/6.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Configurazione iniziale del sito web&lt;/h3&gt;
&lt;p align="justify"&gt;Al primo avvio il framework di Orchard verifica l&amp;#39;esistenza di una configurazione per il sito; se non trovata, come nel nostro caso,&amp;nbsp; verranno richieste le informazioni necessarie alla sua creazione. Dobbiamo semplicemente specificare il nome del sito, l&amp;#39;account dell&amp;#39;amministratore, il tipo di storage che vogliamo utilizzare e la preconfigurazione preferita.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/7.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/7.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Nome del sito e credenziali sono successivamente modificabili dal pannello di amministrazione, mentre non &amp;egrave; cos&amp;igrave; indolore modificare il tipo di storage, a scelta tra il nuovo SQL Server Compact, uno storage locale basato su file che non necessita di nessuna installazione aggiuntiva sul server che ospiter&amp;agrave; il sito, o un&amp;#39;istanza di Sql Server, anche Express, che invece richiede una precedente installazione e configurazione. Il fatto che non sia indolore il passaggio non significa che non si possa fare, intanto per il nostro esempio utilizzeremo Sql Server Compact. &lt;/p&gt;
&lt;p align="justify"&gt;La scelta della preconfigurazione inziale, denominata Recipe nell&amp;#39;ecosistema Orchard, permette di preinstallazione e attivare tutta una serie di moduli utili ad una determinata tipologia di sito. La Default installa e attiva i moduli pi&amp;ugrave; comuni per un sito di presentazione contenuti, Blog invece installa e configura l&amp;#39;ambiente per essere usato come blog personale; Core invece &amp;egrave; un&amp;#39;installazione base molto utile per lo sviluppo di moduli aggiuntivi. Scegliamo Default per il nostro esempio e clicchiamo sul pulsante Finish Setup.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/10.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/10.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Con la configurazione Default viene creata una Home Page all&amp;#39;interno della quale vengono inseriti, a titolo di esempio, dei contenuti in varie zone. Essendo autenticati automaticamente con il ruolo di amministratore, abbiamo i permessi necessari a editare tali contenuti, cliccando sulle piccole etichette Edit nell&amp;#39;angolo in alto a destra di ogni sezione.Andiamo ad esempio ad eliminare le tre colonne First, Second e Thrid Leader Aside, cliccando sulle rispettive etichette Edit. &lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/delete_5F00_content.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/delete_5F00_content.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Il click sull&amp;#39;etichetta Edit ci porta al pannello di amministrazione di Orchard, chiamato Dashboard, direttamente nella pagina che permette di gestire il contenuto sul quale si &amp;egrave; cliccato. Scorrendo in fondo alla pagina troviamo il pulsante Delete per l&amp;#39;eliminazione del contenuto.&lt;/p&gt;
&lt;h2 align="justify"&gt;Creazione del tema&lt;/h2&gt;
&lt;h3 align="justify"&gt;Il template utilizzato&lt;/h3&gt;
&lt;p align="justify"&gt;Il template che utilizzeremo &amp;egrave; stato selezionato dal cliente stesso da una collezione di temi scaricabili da internet.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/14.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/14.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ovviamente il grafico ha apportato alcune modifiche per inserire il logo dell&amp;#39;azienda, e localizzare in italiano i testi di alcune immagini.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/15.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/15.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 align="justify"&gt;Creazione del nuovo tema&lt;/h3&gt;
&lt;p align="justify"&gt;Per creare il nostro tema abbiamo diverse possibilit&amp;agrave;, una di queste &amp;egrave; l&amp;#39;utilizzo della console di Orchard, che potete avviare&amp;nbsp; dalla cartella bin del progetto cliccando sul file Orchard.exe. Verr&amp;agrave; aperta la console che, dopo qualche secondo, ci offrir&amp;agrave;, attraverso il prompt, la possibiit&amp;agrave; di digitare dei comandi. Per la generazione di un tema il comando &amp;egrave; &lt;em&gt;codegen theme &amp;lt;nometema&amp;gt;&lt;/em&gt;, nel nostro caso &lt;em&gt;codegen theme comapimpiantistica&lt;/em&gt;.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/17.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/17.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Come potete notare dalla figura il comando non &amp;egrave; riconosciuto. Questo perch&amp;egrave; anche la Code Generation &amp;egrave; un modulo in Orchard e come tale va installato e attivato. Questa operazione si pu&amp;ograve; fare da console, ma &amp;egrave; pi&amp;ugrave; pratico utilizzare il pannello Modules della Dashboard, cliccare sul tab Gallery, cercare i moduli che rispondono al nome code generation e cliccare sul link Install.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/19.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/19.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Attiviamo il modulo e rilanciamo il comando, in modo da creare il nostro nuovo tema&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/generazionetema.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/generazionetema.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Una volta creato il tema possiamo impostarlo come tema corrente dalla dashboard, selezionando la voce di menu Themes, e cliccando sul pulsante Set Current in corrispondenza del nuovo tema.&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/22.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/22.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Ed ecco il risultato provvisorio:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/24.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliMichele.Orchard1/24.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Nel prossimo articolo vedremo come modificare il tema per ottenere l&amp;#39;aspetto scelto dal cliente.&lt;/p&gt;</description></item><item><title>Introducing Silverlight</title><link>http://dotnetcampania.org/wikis/articoli/introducing-silverlight/revision/0.aspx</link><pubDate>Fri, 23 Jul 2010 09:39:04 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:27</guid><dc:creator>Giorgio</dc:creator><description>Current revision posted to Articoli by Giorgio on 23/07/2010 11:39:04&lt;br /&gt;
&lt;h2&gt;Introducing Silverlight&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Silverlight&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Silverlight
&amp;egrave; &lt;span&gt;una
tecnologia&lt;/span&gt; di Microsoft, cross-platform e cross-browser, per lo sviluppo
delle RIA (Rich Internet Applications). Esso permette di definire interfacce
utente e animazioni per pagine Web molto accattivanti grazie alla possibilit&amp;agrave;
di poter integrare tra di loro il linguaggio XAML e la potenza del .NET
Framework per la parte di code behind con C# o con VB.Net.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;In
realt&amp;agrave; Silverlight non fornisce tutte le potenzialit&amp;agrave; del .NET Framework, ma la
necessaria porzione di funzionalit&amp;agrave; di cui si pu&amp;ograve; aver bisogno per lo sviluppo
di applicazioni web&lt;span&gt;.&lt;/span&gt; &lt;span&gt;A&lt;/span&gt;nche
il CLR (Common Language Runtime) di Silverlight non &amp;egrave; lo stesso del framework
.NET, ma &amp;egrave; un piccolo plug-in cross-browser (6Mb per la versione 4.0 del
runtime)&lt;span&gt;&amp;nbsp; &lt;/span&gt;che si pu&amp;ograve; scaricare
gratuitamente da internet&lt;span&gt;.&lt;/span&gt;
&lt;span&gt;Ino&lt;/span&gt;&lt;span&gt;ltre&lt;/span&gt;, nel caso in cui non fosse mai
stato &lt;span&gt;installato&lt;/span&gt;
il runtime, sar&amp;agrave; scaricato automaticamente, previa &lt;span&gt;a&lt;/span&gt;&lt;span&gt;utorizzazione&lt;/span&gt;, al primo accesso fatto in una pagina web
sviluppata con silverlight. Il plug-in &amp;egrave; funzionante sia sotto Windows sia
sotto MAC ed &amp;egrave; in alcuni casi supportato da apparecchiature mobile che
utilizzano come sistema operativo Windows Mobile o Symbian^1 (S60 5a edizione
per cellulari quali N97, N97 mini o 5800 Xpressmusic)e (quando usciranno i
nuovi smartphone che lo monteranno, anche se per ora ci si pu&amp;ograve; smanettare un
po&amp;rsquo;) Windows Phone, mentre per Linux bisogna scaricare l&amp;rsquo;implementazione open
source del CLR, Moonlight, sviluppato dal team di Mono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Ancora
pi&amp;ugrave; fondamentale &amp;egrave; che Silverlight, a differenza di altre tecnologie quali
Asp.net o Asp.net MVC, &amp;egrave; client-side, quindi le applicazioni sviluppate con
essa sono installate direttamente sul client, di conseguenza, considerando uno
scenario in cui non avvengono richieste al server, i tempi di risposta della stessa
sono pi&amp;ugrave; rapidi, dal momento che qualsiasi tipo di operazione viene effettuata
direttamente nel browser del client.&lt;span&gt; &lt;/span&gt;&lt;span&gt;Tutto
questo non da problemi dal punto di vista della sicurezza perche&amp;#39; silverlight
gira in una sandbox.&lt;/span&gt;&lt;strong&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;La
prima versione fu presentata il 4 settembre del 2007, ma se volessimo fissare
una milestone fondamentale per l&amp;rsquo;inizio dell&amp;rsquo;ascesa del progetto Silverlight,
potremmo identificarla con il 21 dicembre 2006, giorno in cui Microsoft
rilasci&amp;ograve; una tecnologia che risultava essere un sottoinsieme della gi&amp;agrave; pi&amp;ugrave;
conosciuta Windows Presentation Foundation. Proprio per questo motivo la prima
release di Silverlight fu chiamata WPF/E (WPF Everywhere).&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
versione di Silverlight ancora non era fornita del CLR, ma esponeva i dati con
delle API simili al DOM, fornendo cos&amp;igrave; la possibilit&amp;agrave; di programmarne
l&amp;rsquo;interazione con javascript. Questa prima versione includeva anche un encoder
di formati video e una prima versione dell&amp;rsquo;interprete per il linguaggio XAML.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Nella
release 1.1 fu introdotta una prima versione del runtime, il vero &amp;egrave; proprio
cuore di questa versione si componeva di tre parti:&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;il &lt;strong&gt;presentation
core&lt;/strong&gt; che conteneva l&amp;rsquo;integrazione dei browser, l&amp;rsquo;interprete del linguaggio
XAML e il supporto ai media,&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;la&lt;/span&gt; &lt;strong&gt;Base Class Library&lt;/strong&gt;, grazie alla quale, quindi, si aveva la
possibilit&amp;agrave; di usare&lt;span&gt; &lt;/span&gt;&lt;span&gt;una parte&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;del&lt;/span&gt;&lt;span&gt;le&lt;/span&gt; classi
base del .NET Framework con qualsiasi linguaggio da esso supportato,&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpLast"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;e
&amp;ldquo;last but not least&amp;rdquo; il gi&amp;agrave; citato &lt;strong&gt;CLR&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="padding-left:30px;"&gt;&lt;span lang="EN-US"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="max-width:550px;" border="0" src="http://img831.imageshack.us/img831/1378/clipimage001.png" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpLast"&gt;&lt;span lang="EN-US"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="http://img831.imageshack.us/img831/1378/clipimage001.png" border="0" style="max-width:550px;" alt="" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;Questo
cuore di silverlight era attorniato da tre framework quali presentation framework,
traducendo semplicemente dall&amp;rsquo;inglese e per dirlo in parole povere, tutto ci&amp;ograve;
che riguardava la parte di presentazione, il data framework e le interrogazioni
dei dati, e il comunications framework per l&amp;rsquo;interfacciamento delle
applicazioni con l&amp;rsquo;esterno (es. I server). &lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
runtime di Silverlight fece Il salto di qualit&amp;agrave; con la presentazione della
versione 2.0 (rilasciata il 14 ottobre 2008), nonostante fosse considerata la
naturale evoluzione di Silverlight 1.1, il miglioramento del CLR e alcune introduzioni
la rendevano molto pi&amp;ugrave; completa e funzionale rispetto al predecessore, e, come
se non bastasse, anche se vennero fatte queste modifiche, la dimensione del
plug-in continu&amp;ograve; a rimanere notevolmente &amp;ldquo;light&amp;rdquo;, solo 4,6Mb rispetto ai 4Mb
della versione 1.1.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Quasi
un anno dopo, per essere pi&amp;ugrave; precisi il 9 luglio 2009, Microsoft rilasciava la
terza versione di Silverlight, ancora una volta colma d&amp;rsquo;innovazioni. Con questa
release Microsoft, grazie alle migliorie nel campo del supporto a flussi
streaming (Smooth Streaming &lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;), cerca di opporsi in maniera decisa a Flash.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
piattaforma supportava anche il &amp;ldquo;&lt;strong&gt;Perspective&lt;/strong&gt;
&lt;strong&gt;3-D&lt;/strong&gt;&amp;rdquo;, una modalit&amp;agrave; di
implementazione 3D&lt;span&gt;&amp;nbsp; &lt;/span&gt;limitata ad una
visualizzazione prospettica degli elementi, ed introduceva effetti grafici da
poter applicare singolarmente ad ogni elemento discendente da &amp;ldquo;&lt;strong&gt;UIElement&lt;/strong&gt;&amp;rdquo; (Pixel shader effects),
furono migliorate le performance video grazie ad un maggiore sfruttamento della
GPU, fu aggiunta la possibilit&amp;agrave; di modificare le immagini bitmap, potendo anche
modificare singolarmente i pixel, furono aggiunti anche di nuovi effetti per le
animazioni, nuovi controlli, e il navigation framework per permettere la
navigazione tra diverse pagine xaml, fu introdotto anche il &amp;ldquo;&lt;strong&gt;Binding Element to Element&lt;/strong&gt;&amp;rdquo;&lt;strong&gt; &lt;/strong&gt;&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;, il quale permetteva di bindare la propriet&amp;agrave;
di un oggetto recuperandone il valore da un altro, e il &amp;ldquo;&lt;strong&gt;Binding Validation&lt;/strong&gt;&amp;rdquo;, un sistema che consentiva di intercettare le
eccezioni sollevate nel caso in cui al variare del valore dei dati essi risultavano
non congrui con i tipi di valori consentiti , furono inserite delle nuove API
del namespace &lt;i&gt;System.Windows.Messaging&lt;/i&gt;
che consentono la comunicazione tra pi&amp;ugrave; oggetti Silverlight nella pagina (Local
connection), ed infine una delle introduzioni pi&amp;ugrave; importanti, la possibilit&amp;agrave; di
creare delle &amp;ldquo;&lt;strong&gt;Out of Browser Application&lt;/strong&gt;&amp;rdquo;
&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;,
applicazioni di silverlight che possono essere avviate direttamente dal
desktop.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
progetto Silverlight &amp;egrave; arrivato alla versione 4.0, quest&amp;rsquo;ultima &amp;egrave; stata
rilasciata il 15/04/2010 in concomitanza alla presentazione di Visual Studio
2010 e del framework 4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
pi&amp;ugrave; recente relaese della piattaforma introduce migliorie per lo sviluppo di
applicazioni &amp;ldquo;&lt;strong&gt;Out of Browser&lt;/strong&gt;&amp;rdquo;,
l&amp;rsquo;aggiunta del supporto alla stampa, quindi l&amp;rsquo;introduzione dell&amp;rsquo;oggetto &amp;ldquo;&lt;strong&gt;PrintDocument&amp;rdquo;&lt;/strong&gt; e l&amp;rsquo;uso dell&amp;rsquo;evento &amp;ldquo;&lt;strong&gt;PrintPage&amp;rdquo;&lt;/strong&gt;. Sono stati introdotti nuovi
controlli quali la &amp;ldquo;&lt;strong&gt;RichTextBox&lt;/strong&gt;&amp;rdquo;,
che permette di renderizzare il testo e di gestirne la formattazione, con la
possibilit&amp;agrave; di integrare elementi come immagini e altri oggetti, e l&amp;rsquo;oggetto &amp;ldquo;&lt;strong&gt;WebBrowser&lt;/strong&gt;&amp;rdquo; per la navigazione tra le
pagine web, il &amp;ldquo;&lt;strong&gt;Paragraph&lt;/strong&gt;&amp;rdquo; per la
formattazione del testo, che pu&amp;ograve; contenere diversi oggetti, tra i quali il pi&amp;ugrave;
interessante &amp;egrave; &amp;ldquo;&lt;strong&gt;InlineUIContainer&lt;/strong&gt;&amp;rdquo;,
che permette di inserire dei controlli all&amp;rsquo;interno del testo. E&amp;rsquo;stato anche
introdotto l&amp;rsquo;evento &lt;strong&gt;RightMouseButtonDown
&lt;/strong&gt;per il click del tasto destro del mouse e la propriet&amp;agrave; &lt;strong&gt;AllowDrop&lt;/strong&gt; per la gestione di trascinamento sul controllo &lt;strong&gt;&lt;span&gt;UIElement&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Altre
novit&amp;agrave; assolute di Silverlight 4.0 sono la classe &lt;strong&gt;NetworkCredential&lt;/strong&gt;, per l&amp;rsquo;accesso a risorse protette da username e
password, e la proprieta &lt;strong&gt;IpMulticast&lt;/strong&gt;
per l&amp;rsquo;invio di messaggi contemporaneamente con il trasferimento di pacchetti
tramite il protocollo UDP con una connessione uno a molti. E ancora, &amp;egrave; stato
introdotto il supporto alla Webcam e al microfono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Infine
&amp;egrave; giusto fare anche una piccola citazione, &amp;ldquo;piccola&amp;rdquo; perch&amp;eacute; l&amp;rsquo;argomento sar&amp;agrave;
ripreso nei prossimi articoli, al MEF (Managed Extensibility Framework), il
framework per lo sviluppo di applicazioni componibili dinamicamente, che &amp;egrave; stato
integrato nel Framework .NET 4.0, e che Silverlight 4.0 supporta.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
fatto che sia stato integrato il MEF in Silverlight 4.0, ha fatto in modo che
venissero accostati sempre pi&amp;ugrave; Silverlight e il design pattern M-V-VM
(Model-View-ViewModel), questo perch&amp;eacute; con Silverlight, come anche per WPF, lo
sviluppo di applicazioni componibili dinamicamente richiede obbligatoriamente
l&amp;rsquo;uso di M-V-VM. Sembra scontato dire, comunque, che questo design pattern
poteva essere tranquillamente usato con Silverlight anche prima della release
4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Non
mi resta altro, per questo primo articolo, se non lasciarvi i riferimenti per
scaricare i tools di sviluppo di Silverlight 4.0 in Visual Studio 2010 (la
release candidate 2), la sdk di Silverlight 4.0, il runtime e i WCF RIA Services
per Silverlight 4.0 (la release candidate 2) dal link:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;a href="http://www.silverlight.net/getstarted/"&gt;Silverlight
4.0 develo&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;/span&gt;er tools and runtime&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;*Questo argomento sar&amp;agrave; ripreso negli articoli
successivi&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Introducing Silverlight</title><link>http://dotnetcampania.org/wikis/articoli/introducing-silverlight/revision/2.aspx</link><pubDate>Fri, 23 Jul 2010 09:35:16 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:77</guid><dc:creator>Giorgio</dc:creator><description>Revision 2 posted to Articoli by Giorgio on 23/07/2010 11:35:16&lt;br /&gt;
&lt;h2&gt;Introducing Silverlight&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Silverlight&lt;/div&gt;

&lt;p&gt;Silverlight
&amp;egrave; &lt;span&gt;una
tecnologia&lt;/span&gt; di Microsoft, cross-platform e cross-browser, per lo sviluppo
delle RIA (Rich Internet Applications). Esso permette di definire interfacce
utente e animazioni per pagine Web molto accattivanti grazie alla possibilit&amp;agrave;
di poter integrare tra di loro il linguaggio XAML e la potenza del .NET
Framework per la parte di code behind con C# o con VB.Net.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;In
realt&amp;agrave; Silverlight non fornisce tutte le potenzialit&amp;agrave; del .NET Framework, ma la
necessaria porzione di funzionalit&amp;agrave; di cui si pu&amp;ograve; aver bisogno per lo sviluppo
di applicazioni web&lt;span&gt;.&lt;/span&gt; &lt;span&gt;A&lt;/span&gt;nche
il CLR (Common Language Runtime) di Silverlight non &amp;egrave; lo stesso del framework
.NET, ma &amp;egrave; un piccolo plug-in cross-browser (6Mb per la versione 4.0 del
runtime)&lt;span&gt;&amp;nbsp; &lt;/span&gt;che si pu&amp;ograve; scaricare
gratuitamente da internet&lt;span&gt;.&lt;/span&gt;
&lt;span&gt;Ino&lt;/span&gt;&lt;span&gt;ltre&lt;/span&gt;, nel caso in cui non fosse mai
stato &lt;span&gt;installato&lt;/span&gt;
il runtime, sar&amp;agrave; scaricato automaticamente, previa &lt;span&gt;a&lt;/span&gt;&lt;span&gt;utorizzazione&lt;/span&gt;, al primo accesso fatto in una pagina web
sviluppata con silverlight. Il plug-in &amp;egrave; funzionante sia sotto Windows sia
sotto MAC ed &amp;egrave; in alcuni casi supportato da apparecchiature mobile che
utilizzano come sistema operativo Windows Mobile o Symbian^1 (S60 5a edizione
per cellulari quali N97, N97 mini o 5800 Xpressmusic)e (quando usciranno i
nuovi smartphone che lo monteranno, anche se per ora ci si pu&amp;ograve; smanettare un
po&amp;rsquo;) Windows Phone, mentre per Linux bisogna scaricare l&amp;rsquo;implementazione open
source del CLR, Moonlight, sviluppato dal team di Mono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Ancora
pi&amp;ugrave; fondamentale &amp;egrave; che Silverlight, a differenza di altre tecnologie quali
Asp.net o Asp.net MVC, &amp;egrave; client-side, quindi le applicazioni sviluppate con
essa sono installate direttamente sul client, di conseguenza, considerando uno
scenario in cui non avvengono richieste al server, i tempi di risposta della stessa
sono pi&amp;ugrave; rapidi, dal momento che qualsiasi tipo di operazione viene effettuata
direttamente nel browser del client.&lt;span&gt; &lt;/span&gt;&lt;span&gt;Tutto
questo non da problemi dal punto di vista della sicurezza perche&amp;#39; silverlight
gira in una sandbox.&lt;/span&gt;&lt;strong&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;La
prima versione fu presentata il 4 settembre del 2007, ma se volessimo fissare
una milestone fondamentale per l&amp;rsquo;inizio dell&amp;rsquo;ascesa del progetto Silverlight,
potremmo identificarla con il 21 dicembre 2006, giorno in cui Microsoft
rilasci&amp;ograve; una tecnologia che risultava essere un sottoinsieme della gi&amp;agrave; pi&amp;ugrave;
conosciuta Windows Presentation Foundation. Proprio per questo motivo la prima
release di Silverlight fu chiamata WPF/E (WPF Everywhere).&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
versione di Silverlight ancora non era fornita del CLR, ma esponeva i dati con
delle API simili al DOM, fornendo cos&amp;igrave; la possibilit&amp;agrave; di programmarne
l&amp;rsquo;interazione con javascript. Questa prima versione includeva anche un encoder
di formati video e una prima versione dell&amp;rsquo;interprete per il linguaggio XAML.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Nella
release 1.1 fu introdotta una prima versione del runtime, il vero &amp;egrave; proprio
cuore di questa versione si componeva di tre parti:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="padding-left:30px;"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;il &lt;strong&gt;presentation
core&lt;/strong&gt; che conteneva l&amp;rsquo;integrazione dei browser, l&amp;rsquo;interprete del linguaggio
XAML e il supporto ai media,&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="padding-left:30px;"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;la&lt;/span&gt; &lt;strong&gt;Base Class Library&lt;/strong&gt;, grazie alla quale, quindi, si aveva la
possibilit&amp;agrave; di usare&lt;span&gt; &lt;/span&gt;&lt;span&gt;una parte&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;del&lt;/span&gt;&lt;span&gt;le&lt;/span&gt; classi
base del .NET Framework con qualsiasi linguaggio da esso supportato,&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="padding-left:30px;"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;e
&amp;ldquo;last but not least&amp;rdquo; il gi&amp;agrave; citato &lt;strong&gt;CLR&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpLast"&gt;&lt;span lang="EN-US"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="http://img831.imageshack.us/img831/1378/clipimage001.png" border="0" style="max-width:550px;" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="padding-left:30px;"&gt;&lt;span lang="EN-US"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img style="max-width:550px;" border="0" src="http://img831.imageshack.us/img831/1378/clipimage001.png" alt="" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;Questo
cuore di silverlight era attorniato da tre framework quali presentation framework,
traducendo semplicemente dall&amp;rsquo;inglese e per dirlo in parole povere, tutto ci&amp;ograve;
che riguardava la parte di presentazione, il data framework e le interrogazioni
dei dati, e il comunications framework per l&amp;rsquo;interfacciamento delle
applicazioni con l&amp;rsquo;esterno (es. I server). &lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
runtime di Silverlight fece Il salto di qualit&amp;agrave; con la presentazione della
versione 2.0 (rilasciata il 14 ottobre 2008), nonostante fosse considerata la
naturale evoluzione di Silverlight 1.1, il miglioramento del CLR e alcune introduzioni
la rendevano molto pi&amp;ugrave; completa e funzionale rispetto al predecessore, e, come
se non bastasse, anche se vennero fatte queste modifiche, la dimensione del
plug-in continu&amp;ograve; a rimanere notevolmente &amp;ldquo;light&amp;rdquo;, solo 4,6Mb rispetto ai 4Mb
della versione 1.1.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Quasi
un anno dopo, per essere pi&amp;ugrave; precisi il 9 luglio 2009, Microsoft rilasciava la
terza versione di Silverlight, ancora una volta colma d&amp;rsquo;innovazioni. Con questa
release Microsoft, grazie alle migliorie nel campo del supporto a flussi
streaming (Smooth Streaming &lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;), cerca di opporsi in maniera decisa a Flash.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
piattaforma supportava anche il &amp;ldquo;&lt;strong&gt;Perspective&lt;/strong&gt;
&lt;strong&gt;3-D&lt;/strong&gt;&amp;rdquo;, una modalit&amp;agrave; di
implementazione 3D&lt;span&gt;&amp;nbsp; &lt;/span&gt;limitata ad una
visualizzazione prospettica degli elementi, ed introduceva effetti grafici da
poter applicare singolarmente ad ogni elemento discendente da &amp;ldquo;&lt;strong&gt;UIElement&lt;/strong&gt;&amp;rdquo; (Pixel shader effects),
furono migliorate le performance video grazie ad un maggiore sfruttamento della
GPU, fu aggiunta la possibilit&amp;agrave; di modificare le immagini bitmap, potendo anche
modificare singolarmente i pixel, furono aggiunti anche di nuovi effetti per le
animazioni, nuovi controlli, e il navigation framework per permettere la
navigazione tra diverse pagine xaml, fu introdotto anche il &amp;ldquo;&lt;strong&gt;Binding Element to Element&lt;/strong&gt;&amp;rdquo;&lt;strong&gt; &lt;/strong&gt;&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;, il quale permetteva di bindare la propriet&amp;agrave;
di un oggetto recuperandone il valore da un altro, e il &amp;ldquo;&lt;strong&gt;Binding Validation&lt;/strong&gt;&amp;rdquo;, un sistema che consentiva di intercettare le
eccezioni sollevate nel caso in cui al variare del valore dei dati essi risultavano
non congrui con i tipi di valori consentiti , furono inserite delle nuove API
del namespace &lt;i&gt;System.Windows.Messaging&lt;/i&gt;
che consentono la comunicazione tra pi&amp;ugrave; oggetti Silverlight nella pagina (Local
connection), ed infine una delle introduzioni pi&amp;ugrave; importanti, la possibilit&amp;agrave; di
creare delle &amp;ldquo;&lt;strong&gt;Out of Browser Application&lt;/strong&gt;&amp;rdquo;
&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;,
applicazioni di silverlight che possono essere avviate direttamente dal
desktop.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
progetto Silverlight &amp;egrave; arrivato alla versione 4.0, quest&amp;rsquo;ultima &amp;egrave; stata
rilasciata il 15/04/2010 in concomitanza alla presentazione di Visual Studio
2010 e del framework 4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
pi&amp;ugrave; recente relaese della piattaforma introduce migliorie per lo sviluppo di
applicazioni &amp;ldquo;&lt;strong&gt;Out of Browser&lt;/strong&gt;&amp;rdquo;,
l&amp;rsquo;aggiunta del supporto alla stampa, quindi l&amp;rsquo;introduzione dell&amp;rsquo;oggetto &amp;ldquo;&lt;strong&gt;PrintDocument&amp;rdquo;&lt;/strong&gt; e l&amp;rsquo;uso dell&amp;rsquo;evento &amp;ldquo;&lt;strong&gt;PrintPage&amp;rdquo;&lt;/strong&gt;. Sono stati introdotti nuovi
controlli quali la &amp;ldquo;&lt;strong&gt;RichTextBox&lt;/strong&gt;&amp;rdquo;,
che permette di renderizzare il testo e di gestirne la formattazione, con la
possibilit&amp;agrave; di integrare elementi come immagini e altri oggetti, e l&amp;rsquo;oggetto &amp;ldquo;&lt;strong&gt;WebBrowser&lt;/strong&gt;&amp;rdquo; per la navigazione tra le
pagine web, il &amp;ldquo;&lt;strong&gt;Paragraph&lt;/strong&gt;&amp;rdquo; per la
formattazione del testo, che pu&amp;ograve; contenere diversi oggetti, tra i quali il pi&amp;ugrave;
interessante &amp;egrave; &amp;ldquo;&lt;strong&gt;InlineUIContainer&lt;/strong&gt;&amp;rdquo;,
che permette di inserire dei controlli all&amp;rsquo;interno del testo. E&amp;rsquo;stato anche
introdotto l&amp;rsquo;evento &lt;strong&gt;RightMouseButtonDown
&lt;/strong&gt;per il click del tasto destro del mouse e la propriet&amp;agrave; &lt;strong&gt;AllowDrop&lt;/strong&gt; per la gestione di trascinamento sul controllo &lt;strong&gt;&lt;span&gt;UIElement&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Altre
novit&amp;agrave; assolute di Silverlight 4.0 sono la classe &lt;strong&gt;NetworkCredential&lt;/strong&gt;, per l&amp;rsquo;accesso a risorse protette da username e
password, e la proprieta &lt;strong&gt;IpMulticast&lt;/strong&gt;
per l&amp;rsquo;invio di messaggi contemporaneamente con il trasferimento di pacchetti
tramite il protocollo UDP con una connessione uno a molti. E ancora, &amp;egrave; stato
introdotto il supporto alla Webcam e al microfono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Infine
&amp;egrave; giusto fare anche una piccola citazione, &amp;ldquo;piccola&amp;rdquo; perch&amp;eacute; l&amp;rsquo;argomento sar&amp;agrave;
ripreso nei prossimi articoli, al MEF (Managed Extensibility Framework), il
framework per lo sviluppo di applicazioni componibili dinamicamente, che &amp;egrave; stato
integrato nel Framework .NET 4.0, e che Silverlight 4.0 supporta.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
fatto che sia stato integrato il MEF in Silverlight 4.0, ha fatto in modo che
venissero accostati sempre pi&amp;ugrave; Silverlight e il design pattern M-V-VM
(Model-View-ViewModel), questo perch&amp;eacute; con Silverlight, come anche per WPF, lo
sviluppo di applicazioni componibili dinamicamente richiede obbligatoriamente
l&amp;rsquo;uso di M-V-VM. Sembra scontato dire, comunque, che questo design pattern
poteva essere tranquillamente usato con Silverlight anche prima della release
4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Non
mi resta altro, per questo primo articolo, se non lasciarvi i riferimenti per
scaricare i tools di sviluppo di Silverlight 4.0 in Visual Studio 2010 (la
release candidate 2), la sdk di Silverlight 4.0, il runtime e i WCF RIA Services
per Silverlight 4.0 (la release candidate 2) dal link:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&amp;amp;displaylang=en"&gt;Silverlight
4.0 develo&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;/span&gt;er tools and runtime&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;*Questo argomento sar&amp;agrave; ripreso negli articoli
successivi&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Introducing Silverlight</title><link>http://dotnetcampania.org/wikis/articoli/introducing-silverlight/revision/1.aspx</link><pubDate>Fri, 23 Jul 2010 09:33:44 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:76</guid><dc:creator>Giorgio</dc:creator><description>Revision 1 posted to Articoli by Giorgio on 23/07/2010 11:33:44&lt;br /&gt;
&lt;p&gt;Silverlight
&amp;egrave; &lt;span&gt;una
tecnologia&lt;/span&gt; di Microsoft, cross-platform e cross-browser, per lo sviluppo
delle RIA (Rich Internet Applications). Esso permette di definire interfacce
utente e animazioni per pagine Web molto accattivanti grazie alla possibilit&amp;agrave;
di poter integrare tra di loro il linguaggio XAML e la potenza del .NET
Framework per la parte di code behind con C# o con VB.Net.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;In
realt&amp;agrave; Silverlight non fornisce tutte le potenzialit&amp;agrave; del .NET Framework, ma la
necessaria porzione di funzionalit&amp;agrave; di cui si pu&amp;ograve; aver bisogno per lo sviluppo
di applicazioni web&lt;span&gt;.&lt;/span&gt; &lt;span&gt;A&lt;/span&gt;nche
il CLR (Common Language Runtime) di Silverlight non &amp;egrave; lo stesso del framework
.NET, ma &amp;egrave; un piccolo plug-in cross-browser (6Mb per la versione 4.0 del
runtime)&lt;span&gt;&amp;nbsp; &lt;/span&gt;che si pu&amp;ograve; scaricare
gratuitamente da internet&lt;span&gt;.&lt;/span&gt;
&lt;span&gt;Ino&lt;/span&gt;&lt;span&gt;ltre&lt;/span&gt;, nel caso in cui non fosse mai
stato &lt;span&gt;installato&lt;/span&gt;
il runtime, sar&amp;agrave; scaricato automaticamente, previa &lt;span&gt;a&lt;/span&gt;&lt;span&gt;utorizzazione&lt;/span&gt;, al primo accesso fatto in una pagina web
sviluppata con silverlight. Il plug-in &amp;egrave; funzionante sia sotto Windows sia
sotto MAC ed &amp;egrave; in alcuni casi supportato da apparecchiature mobile che
utilizzano come sistema operativo Windows Mobile o Symbian^1 (S60 5a edizione
per cellulari quali N97, N97 mini o 5800 Xpressmusic)e (quando usciranno i
nuovi smartphone che lo monteranno, anche se per ora ci si pu&amp;ograve; smanettare un
po&amp;rsquo;) Windows Phone, mentre per Linux bisogna scaricare l&amp;rsquo;implementazione open
source del CLR, Moonlight, sviluppato dal team di Mono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Ancora
pi&amp;ugrave; fondamentale &amp;egrave; che Silverlight, a differenza di altre tecnologie quali
Asp.net o Asp.net MVC, &amp;egrave; client-side, quindi le applicazioni sviluppate con
essa sono installate direttamente sul client, di conseguenza, considerando uno
scenario in cui non avvengono richieste al server, i tempi di risposta della stessa
sono pi&amp;ugrave; rapidi, dal momento che qualsiasi tipo di operazione viene effettuata
direttamente nel browser del client.&lt;span&gt; &lt;/span&gt;&lt;span&gt;Tutto
questo non da problemi dal punto di vista della sicurezza perche&amp;#39; silverlight
gira in una sandbox.&lt;/span&gt;&lt;strong&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;La
prima versione fu presentata il 4 settembre del 2007, ma se volessimo fissare
una milestone fondamentale per l&amp;rsquo;inizio dell&amp;rsquo;ascesa del progetto Silverlight,
potremmo identificarla con il 21 dicembre 2006, giorno in cui Microsoft
rilasci&amp;ograve; una tecnologia che risultava essere un sottoinsieme della gi&amp;agrave; pi&amp;ugrave;
conosciuta Windows Presentation Foundation. Proprio per questo motivo la prima
release di Silverlight fu chiamata WPF/E (WPF Everywhere).&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
versione di Silverlight ancora non era fornita del CLR, ma esponeva i dati con
delle API simili al DOM, fornendo cos&amp;igrave; la possibilit&amp;agrave; di programmarne
l&amp;rsquo;interazione con javascript. Questa prima versione includeva anche un encoder
di formati video e una prima versione dell&amp;rsquo;interprete per il linguaggio XAML.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Nella
release 1.1 fu introdotta una prima versione del runtime, il vero &amp;egrave; proprio
cuore di questa versione si componeva di tre parti:&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;il &lt;strong&gt;presentation
core&lt;/strong&gt; che conteneva l&amp;rsquo;integrazione dei browser, l&amp;rsquo;interprete del linguaggio
XAML e il supporto ai media,&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpMiddle"&gt;&lt;span&gt;&lt;span&gt;&amp;middot;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;la&lt;/span&gt; &lt;strong&gt;Base Class Library&lt;/strong&gt;, grazie alla quale, quindi, si aveva la
possibilit&amp;agrave; di usare&lt;span&gt; &lt;/span&gt;&lt;span&gt;una parte&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;del&lt;/span&gt;&lt;span&gt;le&lt;/span&gt; classi
base del .NET Framework con qualsiasi linguaggio da esso supportato,&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpLast"&gt;&lt;span lang="EN-US"&gt;&lt;span&gt;&amp;middot;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;e
&amp;ldquo;last but not least&amp;rdquo; il gi&amp;agrave; citato &lt;strong&gt;CLR&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style="padding-left:30px;" class="MsoListParagraphCxSpLast"&gt;&lt;span lang="EN-US"&gt;&lt;img src="http://img831.imageshack.us/img831/1378/clipimage001.png" border="0" style="max-width:550px;" alt="" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p class="MsoListParagraphCxSpFirst"&gt;Questo
cuore di silverlight era attorniato da tre framework quali presentation framework,
traducendo semplicemente dall&amp;rsquo;inglese e per dirlo in parole povere, tutto ci&amp;ograve;
che riguardava la parte di presentazione, il data framework e le interrogazioni
dei dati, e il comunications framework per l&amp;rsquo;interfacciamento delle
applicazioni con l&amp;rsquo;esterno (es. I server). &lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
runtime di Silverlight fece Il salto di qualit&amp;agrave; con la presentazione della
versione 2.0 (rilasciata il 14 ottobre 2008), nonostante fosse considerata la
naturale evoluzione di Silverlight 1.1, il miglioramento del CLR e alcune introduzioni
la rendevano molto pi&amp;ugrave; completa e funzionale rispetto al predecessore, e, come
se non bastasse, anche se vennero fatte queste modifiche, la dimensione del
plug-in continu&amp;ograve; a rimanere notevolmente &amp;ldquo;light&amp;rdquo;, solo 4,6Mb rispetto ai 4Mb
della versione 1.1.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Quasi
un anno dopo, per essere pi&amp;ugrave; precisi il 9 luglio 2009, Microsoft rilasciava la
terza versione di Silverlight, ancora una volta colma d&amp;rsquo;innovazioni. Con questa
release Microsoft, grazie alle migliorie nel campo del supporto a flussi
streaming (Smooth Streaming &lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;), cerca di opporsi in maniera decisa a Flash.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
piattaforma supportava anche il &amp;ldquo;&lt;b&gt;Perspective&lt;/b&gt;
&lt;b&gt;3-D&lt;/b&gt;&amp;rdquo;, una modalit&amp;agrave; di
implementazione 3D&lt;span&gt;&amp;nbsp; &lt;/span&gt;limitata ad una
visualizzazione prospettica degli elementi, ed introduceva effetti grafici da
poter applicare singolarmente ad ogni elemento discendente da &amp;ldquo;&lt;b&gt;UIElement&lt;/b&gt;&amp;rdquo; (Pixel shader effects),
furono migliorate le performance video grazie ad un maggiore sfruttamento della
GPU, fu aggiunta la possibilit&amp;agrave; di modificare le immagini bitmap, potendo anche
modificare singolarmente i pixel, furono aggiunti anche di nuovi effetti per le
animazioni, nuovi controlli, e il navigation framework per permettere la
navigazione tra diverse pagine xaml, fu introdotto anche il &amp;ldquo;&lt;b&gt;Binding Element to Element&lt;/b&gt;&amp;rdquo;&lt;b&gt; &lt;/b&gt;&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;, il quale permetteva di bindare la propriet&amp;agrave;
di un oggetto recuperandone il valore da un altro, e il &amp;ldquo;&lt;b&gt;Binding Validation&lt;/b&gt;&amp;rdquo;, un sistema che consentiva di intercettare le
eccezioni sollevate nel caso in cui al variare del valore dei dati essi risultavano
non congrui con i tipi di valori consentiti , furono inserite delle nuove API
del namespace &lt;i&gt;System.Windows.Messaging&lt;/i&gt;
che consentono la comunicazione tra pi&amp;ugrave; oggetti Silverlight nella pagina (Local
connection), ed infine una delle introduzioni pi&amp;ugrave; importanti, la possibilit&amp;agrave; di
creare delle &amp;ldquo;&lt;b&gt;Out of Browser Application&lt;/b&gt;&amp;rdquo;
&lt;sup&gt;&lt;span&gt;*&lt;/span&gt;&lt;/sup&gt;,
applicazioni di silverlight che possono essere avviate direttamente dal
desktop.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
progetto Silverlight &amp;egrave; arrivato alla versione 4.0, quest&amp;rsquo;ultima &amp;egrave; stata
rilasciata il 15/04/2010 in concomitanza alla presentazione di Visual Studio
2010 e del framework 4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Questa
pi&amp;ugrave; recente relaese della piattaforma introduce migliorie per lo sviluppo di
applicazioni &amp;ldquo;&lt;b&gt;Out of Browser&lt;/b&gt;&amp;rdquo;,
l&amp;rsquo;aggiunta del supporto alla stampa, quindi l&amp;rsquo;introduzione dell&amp;rsquo;oggetto &amp;ldquo;&lt;b&gt;PrintDocument&amp;rdquo;&lt;/b&gt; e l&amp;rsquo;uso dell&amp;rsquo;evento &amp;ldquo;&lt;b&gt;PrintPage&amp;rdquo;&lt;/b&gt;. Sono stati introdotti nuovi
controlli quali la &amp;ldquo;&lt;b&gt;RichTextBox&lt;/b&gt;&amp;rdquo;,
che permette di renderizzare il testo e di gestirne la formattazione, con la
possibilit&amp;agrave; di integrare elementi come immagini e altri oggetti, e l&amp;rsquo;oggetto &amp;ldquo;&lt;b&gt;WebBrowser&lt;/b&gt;&amp;rdquo; per la navigazione tra le
pagine web, il &amp;ldquo;&lt;b&gt;Paragraph&lt;/b&gt;&amp;rdquo; per la
formattazione del testo, che pu&amp;ograve; contenere diversi oggetti, tra i quali il pi&amp;ugrave;
interessante &amp;egrave; &amp;ldquo;&lt;b&gt;InlineUIContainer&lt;/b&gt;&amp;rdquo;,
che permette di inserire dei controlli all&amp;rsquo;interno del testo. E&amp;rsquo;stato anche
introdotto l&amp;rsquo;evento &lt;b&gt;RightMouseButtonDown
&lt;/b&gt;per il click del tasto destro del mouse e la propriet&amp;agrave; &lt;b&gt;AllowDrop&lt;/b&gt; per la gestione di trascinamento sul controllo &lt;strong&gt;&lt;span&gt;UIElement&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Altre
novit&amp;agrave; assolute di Silverlight 4.0 sono la classe &lt;b&gt;NetworkCredential&lt;/b&gt;, per l&amp;rsquo;accesso a risorse protette da username e
password, e la proprieta &lt;b&gt;IpMulticast&lt;/b&gt;
per l&amp;rsquo;invio di messaggi contemporaneamente con il trasferimento di pacchetti
tramite il protocollo UDP con una connessione uno a molti. E ancora, &amp;egrave; stato
introdotto il supporto alla Webcam e al microfono.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Infine
&amp;egrave; giusto fare anche una piccola citazione, &amp;ldquo;piccola&amp;rdquo; perch&amp;eacute; l&amp;rsquo;argomento sar&amp;agrave;
ripreso nei prossimi articoli, al MEF (Managed Extensibility Framework), il
framework per lo sviluppo di applicazioni componibili dinamicamente, che &amp;egrave; stato
integrato nel Framework .NET 4.0, e che Silverlight 4.0 supporta.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Il
fatto che sia stato integrato il MEF in Silverlight 4.0, ha fatto in modo che
venissero accostati sempre pi&amp;ugrave; Silverlight e il design pattern M-V-VM
(Model-View-ViewModel), questo perch&amp;eacute; con Silverlight, come anche per WPF, lo
sviluppo di applicazioni componibili dinamicamente richiede obbligatoriamente
l&amp;rsquo;uso di M-V-VM. Sembra scontato dire, comunque, che questo design pattern
poteva essere tranquillamente usato con Silverlight anche prima della release
4.0.&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;Non
mi resta altro, per questo primo articolo, se non lasciarvi i riferimenti per
scaricare i tools di sviluppo di Silverlight 4.0 in Visual Studio 2010 (la
release candidate 2), la sdk di Silverlight 4.0, il runtime e i WCF RIA Services
per Silverlight 4.0 (la release candidate 2) dal link:&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=bf5ab940-c011-4bd1-ad98-da671e491009&amp;amp;displaylang=en"&gt;Silverlight
4.0 develo&lt;span&gt;&lt;span&gt;p&lt;/span&gt;&lt;/span&gt;er tools and runtime&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;*Questo argomento sar&amp;agrave; ripreso negli articoli
successivi&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Resizing e generazione di thumbnail avanzata</title><link>http://dotnetcampania.org/wikis/articoli/resizing-e-generazione-di-thumbnail-avanzata/revision/0.aspx</link><pubDate>Thu, 08 Apr 2010 20:13:18 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:26</guid><dc:creator>ilNero</dc:creator><description>Current revision posted to Articoli by ilNero on 08/04/2010 22:13:18&lt;br /&gt;
&lt;h2&gt;Resizing e generazione di thumbnail avanzata&lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;immagini&lt;/span&gt;&lt;/h2&gt;
&lt;h3&gt;
            Introduzione&lt;/h3&gt;
&lt;p&gt;
            Uno dei metodi pi&amp;ugrave; comodi e pi&amp;ugrave; utilizzati per ottenere thumbnail di immagini dinamicamente
            &amp;egrave; il metodo &lt;strong&gt;GetThumbnailImage()&lt;/strong&gt; dell&amp;#39;oggetto &lt;strong&gt;Image&lt;/strong&gt; presente nel namespace
            &lt;strong&gt;System.Drawing&lt;/strong&gt;, come ripreso anche da Turibbio in uno dei suoi &lt;a href="/blogs/turibbio/archive/2009/08/18/creare-thumbnails-di-immagini-con-net.aspx"&gt;
                post&lt;/a&gt;.
            &lt;/p&gt;
&lt;p&gt;
                L&amp;#39;utilizzo di questo metodo pone per&amp;ograve; alcune limitazioni, come lo stesso msdn afferma:&lt;/p&gt;
&lt;p&gt;
                &lt;cite&gt;Il metodo GetThumbnailImage garantisce migliori risultati quando le dimensioni
                    dell&amp;#39;immagine di anteprima richiesta sono pari a circa 120x120 pixel. Se si richiede
                    un&amp;#39;immagine di anteprima di grandi dimensioni, ad esempio 300x300, da un oggetto
                    Image che dispone di un&amp;#39;anteprima incorporata, &amp;egrave; possibile che si verifichi una
                    notevole perdita di qualit&amp;agrave; dell&amp;#39;immagine dell&amp;#39;anteprima. Potrebbe essere consigliabile
                    ridimensionare l&amp;#39;immagine principale, anzich&amp;eacute; ridimensionare l&amp;#39;anteprima incorporata,
                    chiamando il metodo DrawImage.&lt;/cite&gt; (1)&lt;/p&gt;
&lt;p&gt;
                Qualche considerazione nata dalla mia esperienza di web developer: il pi&amp;ugrave; delle
                volte mi &amp;egrave; capitato di dover gestire thumbnail che fossero in qualche modo uniformi
                nelle dimensioni e nel colore di sfondo. Ho deciso di affrontare entrambi gli aspetti
                in modo da approcciare il problema nella sua variegata casistica.&lt;/p&gt;
&lt;p&gt;
                Ho affrontato il problema suddividendolo in due blocchi.&lt;br /&gt;
                Dapprima viene curato l&amp;#39;aspetto legato al &lt;strong&gt;contenitore&lt;/strong&gt; dell&amp;#39;immagine di output:
                &amp;egrave;&amp;#39; possibile immaginarlo come il livello di sfondo dell&amp;#39;immagine risultante.&lt;br /&gt;
                Successivamente viene curato il ridimensionamento dell&amp;#39;immagine e come questa viene
                disegnata rispetto al contenitore.&lt;br /&gt;
                Utilizzare la procedura proposta in questo post per effettuare il ridimensionamento
                dell&amp;#39;immagine in input preveder&amp;agrave; dunque la definizione delle dimensioni di larghezza
                ed altezza desiderate del container, e delle dimensioni di larghezza ed altezza
                desiderate dell&amp;#39;immagine ridimensionata, le quali non sempre e non necessariamente
                devono combaciare. Per questo motivo, ho definito quattro membri e relative propriet&amp;agrave;:
                &lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt;private int _imageWidth;
private int _imageHeight;
private int _containerWidth;
private int _containerHeight;

public int Width
{
    get { return _imageWidth; }
    set { _imageWidth = value; }
}
public int Height
{
    get { return _imageHeight; }
    set { _imageHeight = value; }
}
public int ContainerWidth
{
    get { return _containerWidth; }
    set { _containerWidth = value; }
}
public int ContainerHeight
{
    get { return _containerHeight; }
    set { _containerHeight = value; }
}
         &lt;/pre&gt;
&lt;p&gt;
                    Il modo in cui queste quattro dimensioni interagiscono tra di loro &amp;egrave; definito dall&amp;#39;enumerazione&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; 
public enum ScaleMode
{
    FitContainer,
    FitImage,
    FitAuto,
    NoFit
}
&lt;/pre&gt;
&lt;p&gt;
                    dove:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FitContainer&lt;/strong&gt;: forza il ridimensionamento in modo da adeguarsi alle dimensioni
                        specificate per il contenitore. L&amp;#39;immagine di output avr&amp;agrave; le dimensioni specificate
                        per il contenitore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FitImage&lt;/strong&gt;: effettua il ridimensionamento in base alle dimensioni specificate
                        per imageWidth e imageHeight, forzando il contenitore ad adeguarsi a queste dimensioni&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FitAuto&lt;/strong&gt;: esegue un ridimensionamento calcolando in automatico le dimensioni
                        dell&amp;#39;immagine risultante all&amp;#39;interno del contenitore. L&amp;#39;immagine di output avr&amp;agrave;
                        le dimensioni specificate per il contenitore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NoFit&lt;/strong&gt;: non adegua il ridimensionamento al contenitore. Esegue il ridimensionamento
                        sull&amp;#39;immagine in base alle dimensioni specificate, effettuando un taglio dell&amp;#39;immagine
                        qualora questa superi le dimensioni del contenitore. L&amp;#39;immagine di output avr&amp;agrave; le
                        dimensioni specificate per il contenitore. E&amp;#39; possibile gestire la modalit&amp;agrave; di taglio
                        con le strutture seguenti:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; 
public enum Position
{
    TopLeft,
    TopCenter,
    TopRight,
    MiddleLeft,
    MiddleCenter,
    MiddleRight,
    BottomLeft,
    BottomCenter,
    BottomRight,
    Undefined
}

private int _offsetX;
private int _offsetY;
private Position _drawingPosition;

public int OffsetX
{
    get { return _offsetX; }
    set { _offsetX = value; }
}
public int OffsetY
{
    get { return _offsetY; }
    set { _offsetY = value; }
}
public Position DrawingPosition {
    get { return _drawingPosition; }
    set { _drawingPosition = value; }
}
        &lt;/pre&gt;
&lt;p&gt;
                    L&amp;#39;enumerazione &lt;strong&gt;Position&lt;/strong&gt; definisce in che modo l&amp;#39;immagine viene allineata
                    rispetto al container. E se proprio questo non bastasse &amp;egrave; possibile valorizzare
                    le variabili OffsetX e OffsetY che consentono di avere uno scostamento rispetto
                    all&amp;#39;origine (l&amp;#39;angolo superiore sinistro del contenitore).&lt;/p&gt;
&lt;p&gt;
                    A queste modalit&amp;agrave; operative si aggiunge il controllo sul ridimensionamento proporzionale,
                    come si vedr&amp;agrave; in seguito.&lt;/p&gt;
&lt;p&gt;
                    Per quanto riguarda invece la definizione del colore di sfondo, ho definito due
                    variabili, la prima &amp;egrave; il colore vero e proprio, la seconda l&amp;#39;intensit&amp;agrave; del canale
                    alfa/trasparenza. Questi due valori vengono combinati nel metodo GetBackground()
                    che inoltre effettua un controllo sulla coerenza del valore di Alpha, che ammette
                    valori compresi tra 0 e 255.&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; 
private Color _backgroundColor;
private int _alpha;

public Color BackgroundColor
{
    get { return _backgroundColor; }
    set { _backgroundColor = value; }
}
public int Alpha
{
    get { return _alpha; }
    set { _alpha = value; }
}

private SolidBrush GetBackground()
{
    int alphaCheck = 255;
    if (_alpha &amp;lt; 0)
        alphaCheck = 0;
    else if (_alpha &amp;gt; 255)
        alphaCheck = 255;
    else
        alphaCheck = _alpha;
    return new SolidBrush(Color.FromArgb(alphaCheck, _backgroundColor));
}
            &lt;/pre&gt;
&lt;p&gt;
                    Vediamo ora come utilizzare il metodo DrawImage, come suggerito in msdn.&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; 
public Image Resize(Image image)
{
    // Temp variables
    int newContainerWidth = _containerWidth;
    int newContainerHeight = _containerHeight;
    int newImageWidth = _imageWidth;
    int newImageHeight = _imageHeight;
    int newPositionX = 0;
    int newPositionY = 0;

    GetNewSizes(image, ref newContainerWidth, ref newContainerHeight, ref newImageWidth, ref newImageHeight);
    GetPositions(ref newPositionX, ref newPositionY, newContainerWidth, newContainerHeight, newImageWidth, newImageHeight);

    Bitmap retObj = new Bitmap(newContainerWidth, newContainerHeight);
    retObj.SetResolution(_horizontalResolution, _verticalResolution);

    Graphics g = Graphics.FromImage(retObj);
    g.CompositingMode = _compositingMode;
    g.CompositingQuality = _compositingQuality;
    g.SmoothingMode = _smoothing;
    g.InterpolationMode = _interpolation;
    
    g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
    g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
    g.Dispose();
    return (Image)retObj;
}
        &lt;/pre&gt;
&lt;p&gt;
                    Come si osserva dal codice, vengono definite una serie di variabili temporanee che
                    saranno popolate successivamente da due metodi di supporto che vengono richiamati
                    per effettuare i dovuti controlli sulle dimensioni del container e dell&amp;#39;immagine
                    e definire quindi i valori finali che saranno utilizzati durante il processo di
                    resizing dell&amp;#39;immagine.&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt;private void GetProportionalSizes(Image image, ref int imageWidth, ref int imageHeight)
{
    bool exceedWidth = image.Width &amp;gt; imageWidth ? true : false;
    bool exceedHeight = image.Height &amp;gt; imageHeight ? true : false;

    if (exceedWidth &amp;amp; exceedHeight)
    {
        int horizontalSurplus = image.Width - _imageWidth;
        int verticalSurplus = image.Height - _imageHeight;

        if (horizontalSurplus &amp;gt; verticalSurplus)
        {
            imageWidth = _imageWidth;
            imageHeight = imageWidth * image.Height / image.Width;
        }
        else
        {
            imageHeight = _imageHeight;
            imageWidth = imageHeight * image.Width / image.Height;
        }
    }
    else
    {
        if (exceedWidth)
        {
            imageWidth = _imageWidth;
            imageHeight = imageWidth * image.Height / image.Width;
        }
        else
        {
            imageHeight = _imageHeight;
            imageWidth = imageHeight * image.Width / image.Height;
        }
    }
}
        &lt;/pre&gt;
&lt;p&gt;
                    Il metodo GetProportionalSizes() calcola le dimensioni finali dell&amp;#39;immagine in modo
                    da effettuare un ridimensionamento proporzionale ed evitare cos&amp;igrave; il fastidioso effetto
                    di stretching delle immagini. Nella serie di if-else innestate viene eseguito un
                    controllo sulla coerenza della proporzioni in base alle dimensioni dell&amp;#39;immagine
                    originale e delle dimensioni desiderate.&lt;/p&gt;
&lt;p&gt;
                Infatti il primo controllo si occupa di verificare quale delle due dimensioni (orizzontale
                o verticale) richieste eccede rispetto alla dimensione dell&amp;#39;immagine originale.
                Se entrambe eccedono, viene verificata quale delle due dimensioni eccede maggiormente
                di modo che il calcolo proporzionale venga fatto su questa. Il discorso &amp;egrave; analogo
                qualora solo una delle due dimensioni ecceda rispetto alle dimensioni dell&amp;#39;immagine
                originale. Il terzo caso, non contemplato nel corpo del metodo, &amp;egrave; il caso in cui
                nessuna delle due dimensioni richieste per il ridimensionamento ecceda le dimensioni
                originali: in questo caso le dimensioni richieste sono superiori a quella dell&amp;#39;immagine
                originale, assumendo l&amp;#39;assenza di ridimensionamento, ed evitando quindi il calcolo
                delle dimensioni proporzionali.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; private void CheckContainerSizes(ref int imageWidth, ref int imageHeight)
{
    bool exceedWidth = imageWidth &amp;gt; _containerWidth ? true : false;
    bool exceedHeight = imageHeight &amp;gt; _containerHeight ? true : false;

    if (exceedWidth &amp;amp; exceedHeight)
    {
        int horizontalSurplus = imageWidth - _containerWidth;
        int verticalSurplus = imageHeight - _containerHeight;

        if (horizontalSurplus &amp;gt; verticalSurplus)
        {
            imageWidth = _containerWidth;
            imageHeight = imageWidth * _containerHeight / _containerWidth;
        }
        else
        {
            imageHeight = _containerHeight;
            imageWidth = imageHeight * _containerWidth / _containerHeight;
        }
    }
    else
    {
        if (exceedWidth)
        {
            imageWidth = _containerWidth;
            imageHeight = imageWidth * _containerHeight / _containerWidth;
        }
        else
        {
            imageHeight = _containerHeight;
            imageWidth = imageHeight * _containerWidth / _containerHeight;
        }
    }

    // Change required size for auto fit
    _imageWidth = imageWidth;
    _imageHeight = imageHeight;
}        
        &lt;/pre&gt;
&lt;p&gt;
                Il metodo CheckContainerSizes() viene richiamato nel solo caso in cui la modalit&amp;agrave;
                operativa scelta sia FitAuto, ovvero quando viene richiesto che l&amp;#39;immagine venga
                ridimensionata nel rispetto delle dimensioni del container, senza andare oltre queste.
                Leggendo il corpo di questo metodo, si nota che &amp;egrave; praticamente identico al corpo
                del metodo GetProportionalSizes(), ma ha una differenza importante: oltre ad effettuare
                le verifiche del caso, &amp;egrave; in grado di reimpostare le dimensioni di ridimensionamento
                richieste affinch&amp;egrave; soddisfino il criterio operativo scelto.&lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt;public void Save(Image image, ImageFormat format, string outputFile)
{
    if (format == ImageFormat.Jpeg)
    {
        ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders();
        EncoderParameters encoderParams = new EncoderParameters(1);
        encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, _jpegCompression);
        image.Save(outputFile, info[1], encoderParams);
    }
    else
    {
        image.Save(outputFile, format);
    }
}
&lt;/pre&gt;
&lt;p&gt;
                Il metodo Save() consente di salvare su filesystem l&amp;#39;immagine precedentemente ridimensionata
                (o qualunque altra immagine precedentemente istanziata, visto che tra i parametri
                di input c&amp;#39;&amp;egrave; &amp;quot;image&amp;quot;).&lt;br /&gt;
                Si nota per&amp;ograve; che nel caso venga richiesto di salvare in formato Jpeg, &amp;egrave; possibile
                controllare il grado di compressione dell&amp;#39;immagine jpeg risultante, semplicemente
                instanziando e valorizzando l&amp;#39;oggetto &lt;strong&gt;EncoderParameters&lt;/strong&gt; e passandolo in input
                ad uno specifico overload del metodo Save() dell&amp;#39;oggetto Image.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;
            Tra i vari membri presenti, opportunamente mappati su propriet&amp;agrave;, ne spiccano cinque
            che consentono di avere un controllo dell&amp;#39;output piuttosto avanzato:
            &lt;/p&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt;private InterpolationMode _interpolation;
private CompositingMode _compositingMode;
private CompositingQuality _compositingQuality;
private SmoothingMode _smoothing;
private PixelOffsetMode _pixelOffsetMode;

public InterpolationMode Interpolation
{
    get { return _interpolation; }
    set { _interpolation = value; }
}
public CompositingMode CompositingMode
{
    get { return _compositingMode; }
    set { _compositingMode = value; }
}
public CompositingQuality CompositingQuality
{
    get { return _compositingQuality; }
    set { _compositingQuality = value; }
}
public SmoothingMode Smoothing
{
    get { return _smoothing; }
    set { _smoothing = value; }
}
public PixelOffsetMode PixelOffset
{
    get { return _pixelOffsetMode; }
    set { _pixelOffsetMode = value; }
}
        &lt;/pre&gt;
&lt;h3&gt;
                InterpolationMode&lt;/h3&gt;
&lt;p&gt;
                L&amp;#39;InterpolationMode &amp;egrave;, in questo contesto, di importanza vitale. Specifica infatti
                &amp;#39;algoritmo utilizzato quando le immagini vengono scalate o ruotate. Questi le possibili
                scelte:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica la modalit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Low&lt;/strong&gt;: Specifica un&amp;#39;interpolazione di bassa qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High&lt;/strong&gt;: Specifica un&amp;#39;interpolazione di elevata qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bilinear&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bilineare. Non viene effettuata alcuna
                    operazione di prefiltraggio. Questa modalit&amp;agrave; non &amp;egrave; adatta per la compattazione di
                    un&amp;#39;immagine al di sotto del 50% delle dimensioni originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bicubic&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bicubica. Non viene effettuata alcuna
                    operazione di prefiltraggio. Questa modalit&amp;agrave; non &amp;egrave; adatta per la compattazione di
                    un&amp;#39;immagine al di sotto del 25% delle dimensioni originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NearestNeighbor&lt;/strong&gt;: Specifica l&amp;#39;interpolazione pi&amp;ugrave; simile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQualityBilinear&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bilineare di elevata qualit&amp;agrave;.
                    Viene effettuata un&amp;#39;operazione di prefiltraggio per assicurare una compattazione
                    di elevata qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQualityBicubic&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bicubica di elevata qualit&amp;agrave;.
                    Viene effettuata un&amp;#39;operazione di prefiltraggio per assicurare una compattazione
                    di elevata qualit&amp;agrave;. Questa modalit&amp;agrave; produce le immagini trasformate di qualit&amp;agrave; pi&amp;ugrave;
                    elevata.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                CompositingMode&lt;/h3&gt;
&lt;p&gt;
                Il CompositingMode specifica il modo in cui i colori di origine vengono combinati
                con i colori dello sfondo. E&amp;#39; possibile assegnare uno dei due valori:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SourceOver&lt;/strong&gt;: quando viene eseguito il rendering di un colore, tale colore
                    viene miscelato con il colore dello sfondo. La miscela di colori viene determinata
                    dal componente alpha del colore di cui viene eseguito il rendering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SourceCopy&lt;/strong&gt;: quando viene eseguito il rendering di un colore, tale colore
                    sovrascrive il colore dello sfondo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                CompositingQuality&lt;/h3&gt;
&lt;p&gt;
                La CompositingQuality specifica il livello di qualit&amp;agrave; da utilizzare durante la composizione.
                Questi sono i valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: qualit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: alta velocit&amp;agrave;, bassa qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: composizione di elevata qualit&amp;agrave; e ridotta velocit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GammaCorrected&lt;/strong&gt;: viene utilizzata la correzione gamma.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AssumeLinear&lt;/strong&gt;: vengono assunti i valori lineari.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                SmoothingMode&lt;/h3&gt;
&lt;p&gt;
                Lo SmoothingMode specifica se e come viene applicato l&amp;#39;anti-aliasing. Anche i questo
                caso abbiamo una serie di valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: Specifica il rendering con antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AntiAlias&lt;/strong&gt;: Specifica il rendering con antialias.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                PixelOffsetMode&lt;/h3&gt;
&lt;p&gt;
                Il PixelOffsetMode specifica la modalit&amp;agrave; di offset dei pixel durante l&amp;#39;esecuzione
                del rendering, in modo da controllare la qualit&amp;agrave; del rendering finale. Questi i
                valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica la modalit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: Specifica un rendering di elevata velocit&amp;agrave; e ridotta qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: Specifica un rendering di elevata qualit&amp;agrave; e ridotta velocit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt;: Specifica l&amp;#39;assenza di offset di pixel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Half&lt;/strong&gt;: Specifica l&amp;#39;offset dei pixel in base a unit&amp;agrave; - .5, sia in senso orizzontale
                    che verticale, per ottenere un anti-aliasing di elevata velocit&amp;agrave;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt;g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
&lt;/pre&gt;
&lt;p&gt;
                Definiti tutti i parametri di disegno ed effettuati i calcoli sul ridimensionamento,
                sono le due chiamate finali a generare l&amp;#39;immagine di output. Nella prima, il metodo
                FillRectangle, in uno dei suoi overload (2), disegna il livello di sfondo. Su di
                questo, la chiamata successiva, DrawImage, anch&amp;#39;essa in uno dei suoi overload (3),
                disegna l&amp;#39;immagine ridimensionata.&lt;/p&gt;
&lt;h3&gt;Il codice sorgente&lt;/h3&gt;
&lt;pre style="overflow:auto;" class="brush: c-sharp;"&gt; 
#region Using directives
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
#endregion

namespace DotNetCampania.Imager
{
    public class ImageProcessor
    {
        #region Enums
        public enum ScaleMode
        {
            FitContainer,
            FitImage,
            FitAuto,
            NoFit
        }

        public enum Position
        {
            TopLeft,
            TopCenter,
            TopRight,
            MiddleLeft,
            MiddleCenter,
            MiddleRight,
            BottomLeft,
            BottomCenter,
            BottomRight,
            Undefined
        }
        #endregion

        #region Members
        private int _imageWidth;
        private int _imageHeight;
        private int _containerWidth;
        private int _containerHeight;
        private ScaleMode _scale;
        private Position _drawingPosition;
        private bool _proportional;
        private InterpolationMode _interpolation;
        private CompositingMode _compositingMode;
        private CompositingQuality _compositingQuality;
        private SmoothingMode _smoothing;
        private PixelOffsetMode _pixelOffsetMode;
        private Color _backgroundColor;
        private int _alpha;

        private int _offsetX;
        private int _offsetY;

        private ImageFormat _outputImageFormat;
        private long _jpegCompression;
        private float _horizontalResolution;
        private float _verticalResolution;
        #endregion

        #region Properties
        public int Width
        {
            get { return _imageWidth; }
            set { _imageWidth = value; }
        }
        public int Height
        {
            get { return _imageHeight; }
            set { _imageHeight = value; }
        }
        public int ContainerWidth
        {
            get { return _containerWidth; }
            set { _containerWidth = value; }
        }
        public int ContainerHeight
        {
            get { return _containerHeight; }
            set { _containerHeight = value; }
        }
        public Position DrawingPosition
        {
            get { return _drawingPosition; }
            set { _drawingPosition = value; }
        }
        public bool Proportional
        {
            get { return _proportional; }
            set { _proportional = value; }
        }
        public InterpolationMode Interpolation
        {
            get { return _interpolation; }
            set { _interpolation = value; }
        }
        public CompositingMode CompositingMode
        {
            get { return _compositingMode; }
            set { _compositingMode = value; }
        }
        public CompositingQuality CompositingQuality
        {
            get { return _compositingQuality; }
            set { _compositingQuality = value; }
        }
        public SmoothingMode Smoothing
        {
            get { return _smoothing; }
            set { _smoothing = value; }
        }
        public PixelOffsetMode PixelOffset
        {
            get { return _pixelOffsetMode; }
            set { _pixelOffsetMode = value; }
        }
        public Color BackgroundColor
        {
            get { return _backgroundColor; }
            set { _backgroundColor = value; }
        }
        public int Alpha
        {
            get { return _alpha; }
            set { _alpha = value; }
        }
        public int OffsetX
        {
            get { return _offsetX; }
            set { _offsetX = value; }
        }
        public int OffsetY
        {
            get { return _offsetY; }
            set { _offsetY = value; }
        }
        public ImageFormat OutputImageFormat
        {
            get { return this._outputImageFormat; }
            set { _outputImageFormat = value; }
        }
        public long JPEGCompression
        {
            get { return _jpegCompression; }
            set { _jpegCompression = value; }
        }
        public float HorizontalResolution
        {
            get { return _horizontalResolution; }
            set { _horizontalResolution = value; }
        }
        public float VerticalResolution
        {
            get { return _verticalResolution; }
            set { _verticalResolution = value; }
        }
        public ScaleMode Scale
        {
            get { return _scale; }
            set { _scale = value; }
        }
        #endregion

        #region Constructor(s)
        public ImageProcessor()
        {
            _imageWidth = default(int);
            _imageHeight = default(int);
            _containerWidth = default(int);
            _containerHeight = default(int);
            _drawingPosition = Position.Undefined;
            _interpolation = InterpolationMode.HighQualityBicubic;
            _compositingMode = CompositingMode.SourceOver;
            _compositingQuality = CompositingQuality.HighQuality;
            _smoothing = SmoothingMode.HighQuality;
            _pixelOffsetMode = PixelOffsetMode.HighQuality;

            _proportional = true;
            _alpha = 255;
            _backgroundColor = Color.White;

            _offsetX = 0;
            _offsetY = 0;
            _scale = ScaleMode.FitAuto;

            _outputImageFormat = ImageFormat.Jpeg;
            _jpegCompression = 80L;
            _horizontalResolution = 72f;
            _verticalResolution = 72f;
        }
        #endregion

        #region Public methods
        public Image Resize(Image image)
        {
            // Temp variables
            int newContainerWidth = _containerWidth;
            int newContainerHeight = _containerHeight;
            int newImageWidth = _imageWidth;
            int newImageHeight = _imageHeight;
            int newPositionX = 0;
            int newPositionY = 0;

            GetNewSizes(image, ref newContainerWidth, ref newContainerHeight, ref newImageWidth, ref newImageHeight);
            GetPositions(ref newPositionX, ref newPositionY, newContainerWidth, newContainerHeight, newImageWidth, newImageHeight);

            Bitmap retObj = new Bitmap(newContainerWidth, newContainerHeight);
            retObj.SetResolution(_horizontalResolution, _verticalResolution);

            Graphics g = Graphics.FromImage(retObj);
            g.CompositingMode = _compositingMode;
            g.CompositingQuality = _compositingQuality;
            g.SmoothingMode = _smoothing;
            g.InterpolationMode = _interpolation;
            g.PixelOffsetMode = _pixelOffsetMode;
            
            g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
            g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
            g.Dispose();
            return (Image)retObj;
        }

        public void Save(Image image, ImageFormat format, string outputFile)
        {
            if (format == ImageFormat.Jpeg)
            {
                ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders();
                EncoderParameters encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, _jpegCompression);
                image.Save(outputFile, info[1], encoderParams);
            }
            else
            {
                image.Save(outputFile, format);
            }
        }
        #endregion

        #region Private support methods
        private void GetNewSizes(Image image, ref int containerWidth, ref int containerHeight, ref int imageWidth, ref int imageHeight)
        {
            switch (_scale)
            {
                case ScaleMode.NoFit:
                    if (_proportional)
                    {
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    }
                    break;
                case ScaleMode.FitAuto:
                    CheckContainerSizes(ref imageWidth, ref imageHeight); 
                    if (_proportional)
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    break;
                case ScaleMode.FitContainer:
                    imageWidth = containerWidth;
                    imageHeight = containerHeight;
                    break;
                case ScaleMode.FitImage:
                    if (_proportional)
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    containerWidth = imageWidth;
                    containerHeight = imageHeight;
                    break;
            }
        }

        private void GetPositions(ref int positionX, ref int positionY, int containerWidth, int containerHeight, int imageWidth, int imageHeight) {
            switch (_drawingPosition) {
                case Position.BottomCenter:
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));                    
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.BottomLeft: 
                    positionX = 0;
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.BottomRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.MiddleCenter: 
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.MiddleLeft:
                    positionX = 0;
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.MiddleRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.TopCenter: 
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));
                    positionY = 0;
                    break;
                case Position.TopLeft:
                    positionX = 0;
                    positionY = 0;
                    break;
                case Position.TopRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = 0;
                    break;
            }
        }

        private void CheckContainerSizes(ref int imageWidth, ref int imageHeight)
        {
            bool exceedWidth = imageWidth &amp;gt; _containerWidth ? true : false;
            bool exceedHeight = imageHeight &amp;gt; _containerHeight ? true : false;

            if (exceedWidth &amp;amp; exceedHeight)
            {
                int horizontalSurplus = imageWidth - _containerWidth;
                int verticalSurplus = imageHeight - _containerHeight;

                if (horizontalSurplus &amp;gt; verticalSurplus)
                {
                    imageWidth = _containerWidth;
                    imageHeight = imageWidth * _containerHeight / _containerWidth;
                }
                else
                {
                    imageHeight = _containerHeight;
                    imageWidth = imageHeight * _containerWidth / _containerHeight;
                }
            }
            else
            {
                if (exceedWidth)
                {
                    imageWidth = _containerWidth;
                    imageHeight = imageWidth * _containerHeight / _containerWidth;
                }
                else
                {
                    imageHeight = _containerHeight;
                    imageWidth = imageHeight * _containerWidth / _containerHeight;
                }
            }

            // Change required size for auto fit
            _imageWidth = imageWidth;
            _imageHeight = imageHeight;
        }

        private void GetProportionalSizes(Image image, ref int imageWidth, ref int imageHeight)
        {
            bool exceedWidth = image.Width &amp;gt; imageWidth ? true : false;
            bool exceedHeight = image.Height &amp;gt; imageHeight ? true : false;

            if (exceedWidth &amp;amp; exceedHeight)
            {
                int horizontalSurplus = image.Width - _imageWidth;
                int verticalSurplus = image.Height - _imageHeight;

                if (horizontalSurplus &amp;gt; verticalSurplus)
                {
                    imageWidth = _imageWidth;
                    imageHeight = imageWidth * image.Height / image.Width;
                }
                else
                {
                    imageHeight = _imageHeight;
                    imageWidth = imageHeight * image.Width / image.Height;
                }
            }
            else
            {
                if (exceedWidth)
                {
                    imageWidth = _imageWidth;
                    imageHeight = imageWidth * image.Height / image.Width;
                }
                else
                {
                    imageHeight = _imageHeight;
                    imageWidth = imageHeight * image.Width / image.Height;
                }
            }
        }

        private SolidBrush GetBackground()
        {
            int alphaCheck = 255;
            if (_alpha &amp;lt; 0)
                alphaCheck = 0;
            else if (_alpha &amp;gt; 255)
                alphaCheck = 255;
            else
                alphaCheck = _alpha;
            return new SolidBrush(Color.FromArgb(alphaCheck, _backgroundColor));
        }
        #endregion
    }
}
        &lt;/pre&gt;
&lt;h3&gt;
                Download&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/wikis/articoli/add.aspx/Downloads/DotNetCampania.Imager.zip"&gt;&lt;/a&gt;&lt;a href="http://www.gianlucaesposito.it/dotnetcampania/downloads/DotNetCampania.Imager.zip"&gt;Download library (5 KB)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gianlucaesposito.it/dotnetcampania/downloads/DotNetCampania.Imager.SampleWeb.zip"&gt;Download web sample (130                     KB)&lt;/a&gt;&lt;a href="/wikis/articoli/add.aspx/Downloads/DotNetCampania.Imager.SampleWeb.zip"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                Riferimenti&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Riferimento a .NET Framework - Metodo Image.GetThumbnailImage [&lt;a href="http://msdn.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage.aspx"&gt;http://msdn.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage.aspx&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Graphics.FillRectangle Method (Brush, Rectangle) [&lt;a href="http://msdn.microsoft.com/en-us/library/yysstebh.aspx"&gt;http://msdn.microsoft.com/en-us/library/yysstebh.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Metodo Graphics.DrawImage (Image, Int32, Int32, Int32, Int32) [&lt;a href="http://msdn.microsoft.com/it-it/library/dbsak4dc(v=VS.80).aspx"&gt;http://msdn.microsoft.com/it-it/library/dbsak4dc(v=VS.80).aspx&lt;/a&gt;]&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Resizing e generazione di thumbnail avanzata di immagini</title><link>http://dotnetcampania.org/wikis/articoli/resizing-e-generazione-di-thumbnail-avanzata/revision/1.aspx</link><pubDate>Thu, 08 Apr 2010 20:11:21 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:75</guid><dc:creator>ilNero</dc:creator><description>Revision 1 posted to Articoli by ilNero on 08/04/2010 22:11:21&lt;br /&gt;
&lt;h3&gt;
            Introduzione&lt;/h3&gt;
&lt;p&gt;
            Uno dei metodi pi&amp;ugrave; comodi e pi&amp;ugrave; utilizzati per ottenere thumbnail di immagini dinamicamente
            &amp;egrave; il metodo &lt;strong&gt;GetThumbnailImage()&lt;/strong&gt; dell&amp;#39;oggetto &lt;strong&gt;Image&lt;/strong&gt; presente nel namespace
            &lt;strong&gt;System.Drawing&lt;/strong&gt;, come ripreso anche da Turibbio in uno dei suoi &lt;a href="/blogs/turibbio/archive/2009/08/18/creare-thumbnails-di-immagini-con-net.aspx"&gt;
                post&lt;/a&gt;.
            &lt;/p&gt;
&lt;p&gt;
                L&amp;#39;utilizzo di questo metodo pone per&amp;ograve; alcune limitazioni, come lo stesso msdn afferma:&lt;/p&gt;
&lt;p&gt;
                &lt;cite&gt;Il metodo GetThumbnailImage garantisce migliori risultati quando le dimensioni
                    dell&amp;#39;immagine di anteprima richiesta sono pari a circa 120x120 pixel. Se si richiede
                    un&amp;#39;immagine di anteprima di grandi dimensioni, ad esempio 300x300, da un oggetto
                    Image che dispone di un&amp;#39;anteprima incorporata, &amp;egrave; possibile che si verifichi una
                    notevole perdita di qualit&amp;agrave; dell&amp;#39;immagine dell&amp;#39;anteprima. Potrebbe essere consigliabile
                    ridimensionare l&amp;#39;immagine principale, anzich&amp;eacute; ridimensionare l&amp;#39;anteprima incorporata,
                    chiamando il metodo DrawImage.&lt;/cite&gt; (1)&lt;/p&gt;
&lt;p&gt;
                Qualche considerazione nata dalla mia esperienza di web developer: il pi&amp;ugrave; delle
                volte mi &amp;egrave; capitato di dover gestire thumbnail che fossero in qualche modo uniformi
                nelle dimensioni e nel colore di sfondo. Ho deciso di affrontare entrambi gli aspetti
                in modo da approcciare il problema nella sua variegata casistica.&lt;/p&gt;
&lt;p&gt;
                Ho affrontato il problema suddividendolo in due blocchi.&lt;br /&gt;
                Dapprima viene curato l&amp;#39;aspetto legato al &lt;strong&gt;contenitore&lt;/strong&gt; dell&amp;#39;immagine di output:
                &amp;egrave;&amp;#39; possibile immaginarlo come il livello di sfondo dell&amp;#39;immagine risultante.&lt;br /&gt;
                Successivamente viene curato il ridimensionamento dell&amp;#39;immagine e come questa viene
                disegnata rispetto al contenitore.&lt;br /&gt;
                Utilizzare la procedura proposta in questo post per effettuare il ridimensionamento
                dell&amp;#39;immagine in input preveder&amp;agrave; dunque la definizione delle dimensioni di larghezza
                ed altezza desiderate del container, e delle dimensioni di larghezza ed altezza
                desiderate dell&amp;#39;immagine ridimensionata, le quali non sempre e non necessariamente
                devono combaciare. Per questo motivo, ho definito quattro membri e relative propriet&amp;agrave;:
                &lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;private int _imageWidth;
private int _imageHeight;
private int _containerWidth;
private int _containerHeight;

public int Width
{
    get { return _imageWidth; }
    set { _imageWidth = value; }
}
public int Height
{
    get { return _imageHeight; }
    set { _imageHeight = value; }
}
public int ContainerWidth
{
    get { return _containerWidth; }
    set { _containerWidth = value; }
}
public int ContainerHeight
{
    get { return _containerHeight; }
    set { _containerHeight = value; }
}
         &lt;/pre&gt;
&lt;p&gt;
                    Il modo in cui queste quattro dimensioni interagiscono tra di loro &amp;egrave; definito dall&amp;#39;enumerazione&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; 
public enum ScaleMode
{
    FitContainer,
    FitImage,
    FitAuto,
    NoFit
}
&lt;/pre&gt;
&lt;p&gt;
                    dove:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FitContainer&lt;/strong&gt;: forza il ridimensionamento in modo da adeguarsi alle dimensioni
                        specificate per il contenitore. L&amp;#39;immagine di output avr&amp;agrave; le dimensioni specificate
                        per il contenitore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FitImage&lt;/strong&gt;: effettua il ridimensionamento in base alle dimensioni specificate
                        per imageWidth e imageHeight, forzando il contenitore ad adeguarsi a queste dimensioni&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FitAuto&lt;/strong&gt;: esegue un ridimensionamento calcolando in automatico le dimensioni
                        dell&amp;#39;immagine risultante all&amp;#39;interno del contenitore. L&amp;#39;immagine di output avr&amp;agrave;
                        le dimensioni specificate per il contenitore.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NoFit&lt;/strong&gt;: non adegua il ridimensionamento al contenitore. Esegue il ridimensionamento
                        sull&amp;#39;immagine in base alle dimensioni specificate, effettuando un taglio dell&amp;#39;immagine
                        qualora questa superi le dimensioni del contenitore. L&amp;#39;immagine di output avr&amp;agrave; le
                        dimensioni specificate per il contenitore. E&amp;#39; possibile gestire la modalit&amp;agrave; di taglio
                        con le strutture seguenti:&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; 
public enum Position
{
    TopLeft,
    TopCenter,
    TopRight,
    MiddleLeft,
    MiddleCenter,
    MiddleRight,
    BottomLeft,
    BottomCenter,
    BottomRight,
    Undefined
}

private int _offsetX;
private int _offsetY;
private Position _drawingPosition;

public int OffsetX
{
    get { return _offsetX; }
    set { _offsetX = value; }
}
public int OffsetY
{
    get { return _offsetY; }
    set { _offsetY = value; }
}
public Position DrawingPosition {
    get { return _drawingPosition; }
    set { _drawingPosition = value; }
}
        &lt;/pre&gt;
&lt;p&gt;
                    L&amp;#39;enumerazione &lt;strong&gt;Position&lt;/strong&gt; definisce in che modo l&amp;#39;immagine viene allineata
                    rispetto al container. E se proprio questo non bastasse &amp;egrave; possibile valorizzare
                    le variabili OffsetX e OffsetY che consentono di avere uno scostamento rispetto
                    all&amp;#39;origine (l&amp;#39;angolo superiore sinistro del contenitore).&lt;/p&gt;
&lt;p&gt;
                    A queste modalit&amp;agrave; operative si aggiunge il controllo sul ridimensionamento proporzionale,
                    come si vedr&amp;agrave; in seguito.&lt;/p&gt;
&lt;p&gt;
                    Per quanto riguarda invece la definizione del colore di sfondo, ho definito due
                    variabili, la prima &amp;egrave; il colore vero e proprio, la seconda l&amp;#39;intensit&amp;agrave; del canale
                    alfa/trasparenza. Questi due valori vengono combinati nel metodo GetBackground()
                    che inoltre effettua un controllo sulla coerenza del valore di Alpha, che ammette
                    valori compresi tra 0 e 255.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; 
private Color _backgroundColor;
private int _alpha;

public Color BackgroundColor
{
    get { return _backgroundColor; }
    set { _backgroundColor = value; }
}
public int Alpha
{
    get { return _alpha; }
    set { _alpha = value; }
}

private SolidBrush GetBackground()
{
    int alphaCheck = 255;
    if (_alpha &amp;lt; 0)
        alphaCheck = 0;
    else if (_alpha &amp;gt; 255)
        alphaCheck = 255;
    else
        alphaCheck = _alpha;
    return new SolidBrush(Color.FromArgb(alphaCheck, _backgroundColor));
}
            &lt;/pre&gt;
&lt;p&gt;
                    Vediamo ora come utilizzare il metodo DrawImage, come suggerito in msdn.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; 
public Image Resize(Image image)
{
    // Temp variables
    int newContainerWidth = _containerWidth;
    int newContainerHeight = _containerHeight;
    int newImageWidth = _imageWidth;
    int newImageHeight = _imageHeight;
    int newPositionX = 0;
    int newPositionY = 0;

    GetNewSizes(image, ref newContainerWidth, ref newContainerHeight, ref newImageWidth, ref newImageHeight);
    GetPositions(ref newPositionX, ref newPositionY, newContainerWidth, newContainerHeight, newImageWidth, newImageHeight);

    Bitmap retObj = new Bitmap(newContainerWidth, newContainerHeight);
    retObj.SetResolution(_horizontalResolution, _verticalResolution);

    Graphics g = Graphics.FromImage(retObj);
    g.CompositingMode = _compositingMode;
    g.CompositingQuality = _compositingQuality;
    g.SmoothingMode = _smoothing;
    g.InterpolationMode = _interpolation;
    
    g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
    g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
    g.Dispose();
    return (Image)retObj;
}
        &lt;/pre&gt;
&lt;p&gt;
                    Come si osserva dal codice, vengono definite una serie di variabili temporanee che
                    saranno popolate successivamente da due metodi di supporto che vengono richiamati
                    per effettuare i dovuti controlli sulle dimensioni del container e dell&amp;#39;immagine
                    e definire quindi i valori finali che saranno utilizzati durante il processo di
                    resizing dell&amp;#39;immagine.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;private void GetProportionalSizes(Image image, ref int imageWidth, ref int imageHeight)
{
    bool exceedWidth = image.Width &amp;gt; imageWidth ? true : false;
    bool exceedHeight = image.Height &amp;gt; imageHeight ? true : false;

    if (exceedWidth &amp;amp; exceedHeight)
    {
        int horizontalSurplus = image.Width - _imageWidth;
        int verticalSurplus = image.Height - _imageHeight;

        if (horizontalSurplus &amp;gt; verticalSurplus)
        {
            imageWidth = _imageWidth;
            imageHeight = imageWidth * image.Height / image.Width;
        }
        else
        {
            imageHeight = _imageHeight;
            imageWidth = imageHeight * image.Width / image.Height;
        }
    }
    else
    {
        if (exceedWidth)
        {
            imageWidth = _imageWidth;
            imageHeight = imageWidth * image.Height / image.Width;
        }
        else
        {
            imageHeight = _imageHeight;
            imageWidth = imageHeight * image.Width / image.Height;
        }
    }
}
        &lt;/pre&gt;
&lt;p&gt;
                    Il metodo GetProportionalSizes() calcola le dimensioni finali dell&amp;#39;immagine in modo
                    da effettuare un ridimensionamento proporzionale ed evitare cos&amp;igrave; il fastidioso effetto
                    di stretching delle immagini. Nella serie di if-else innestate viene eseguito un
                    controllo sulla coerenza della proporzioni in base alle dimensioni dell&amp;#39;immagine
                    originale e delle dimensioni desiderate.&lt;/p&gt;
&lt;p&gt;
                Infatti il primo controllo si occupa di verificare quale delle due dimensioni (orizzontale
                o verticale) richieste eccede rispetto alla dimensione dell&amp;#39;immagine originale.
                Se entrambe eccedono, viene verificata quale delle due dimensioni eccede maggiormente
                di modo che il calcolo proporzionale venga fatto su questa. Il discorso &amp;egrave; analogo
                qualora solo una delle due dimensioni ecceda rispetto alle dimensioni dell&amp;#39;immagine
                originale. Il terzo caso, non contemplato nel corpo del metodo, &amp;egrave; il caso in cui
                nessuna delle due dimensioni richieste per il ridimensionamento ecceda le dimensioni
                originali: in questo caso le dimensioni richieste sono superiori a quella dell&amp;#39;immagine
                originale, assumendo l&amp;#39;assenza di ridimensionamento, ed evitando quindi il calcolo
                delle dimensioni proporzionali.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; private void CheckContainerSizes(ref int imageWidth, ref int imageHeight)
{
    bool exceedWidth = imageWidth &amp;gt; _containerWidth ? true : false;
    bool exceedHeight = imageHeight &amp;gt; _containerHeight ? true : false;

    if (exceedWidth &amp;amp; exceedHeight)
    {
        int horizontalSurplus = imageWidth - _containerWidth;
        int verticalSurplus = imageHeight - _containerHeight;

        if (horizontalSurplus &amp;gt; verticalSurplus)
        {
            imageWidth = _containerWidth;
            imageHeight = imageWidth * _containerHeight / _containerWidth;
        }
        else
        {
            imageHeight = _containerHeight;
            imageWidth = imageHeight * _containerWidth / _containerHeight;
        }
    }
    else
    {
        if (exceedWidth)
        {
            imageWidth = _containerWidth;
            imageHeight = imageWidth * _containerHeight / _containerWidth;
        }
        else
        {
            imageHeight = _containerHeight;
            imageWidth = imageHeight * _containerWidth / _containerHeight;
        }
    }

    // Change required size for auto fit
    _imageWidth = imageWidth;
    _imageHeight = imageHeight;
}        
        &lt;/pre&gt;
&lt;p&gt;
                Il metodo CheckContainerSizes() viene richiamato nel solo caso in cui la modalit&amp;agrave;
                operativa scelta sia FitAuto, ovvero quando viene richiesto che l&amp;#39;immagine venga
                ridimensionata nel rispetto delle dimensioni del container, senza andare oltre queste.
                Leggendo il corpo di questo metodo, si nota che &amp;egrave; praticamente identico al corpo
                del metodo GetProportionalSizes(), ma ha una differenza importante: oltre ad effettuare
                le verifiche del caso, &amp;egrave; in grado di reimpostare le dimensioni di ridimensionamento
                richieste affinch&amp;egrave; soddisfino il criterio operativo scelto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;public void Save(Image image, ImageFormat format, string outputFile)
{
    if (format == ImageFormat.Jpeg)
    {
        ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders();
        EncoderParameters encoderParams = new EncoderParameters(1);
        encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, _jpegCompression);
        image.Save(outputFile, info[1], encoderParams);
    }
    else
    {
        image.Save(outputFile, format);
    }
}
&lt;/pre&gt;
&lt;p&gt;
                Il metodo Save() consente di salvare su filesystem l&amp;#39;immagine precedentemente ridimensionata
                (o qualunque altra immagine precedentemente istanziata, visto che tra i parametri
                di input c&amp;#39;&amp;egrave; &amp;quot;image&amp;quot;).&lt;br /&gt;
                Si nota per&amp;ograve; che nel caso venga richiesto di salvare in formato Jpeg, &amp;egrave; possibile
                controllare il grado di compressione dell&amp;#39;immagine jpeg risultante, semplicemente
                instanziando e valorizzando l&amp;#39;oggetto &lt;strong&gt;EncoderParameters&lt;/strong&gt; e passandolo in input
                ad uno specifico overload del metodo Save() dell&amp;#39;oggetto Image.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;
            Tra i vari membri presenti, opportunamente mappati su propriet&amp;agrave;, ne spiccano cinque
            che consentono di avere un controllo dell&amp;#39;output piuttosto avanzato:
            &lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;private InterpolationMode _interpolation;
private CompositingMode _compositingMode;
private CompositingQuality _compositingQuality;
private SmoothingMode _smoothing;
private PixelOffsetMode _pixelOffsetMode;

public InterpolationMode Interpolation
{
    get { return _interpolation; }
    set { _interpolation = value; }
}
public CompositingMode CompositingMode
{
    get { return _compositingMode; }
    set { _compositingMode = value; }
}
public CompositingQuality CompositingQuality
{
    get { return _compositingQuality; }
    set { _compositingQuality = value; }
}
public SmoothingMode Smoothing
{
    get { return _smoothing; }
    set { _smoothing = value; }
}
public PixelOffsetMode PixelOffset
{
    get { return _pixelOffsetMode; }
    set { _pixelOffsetMode = value; }
}
        &lt;/pre&gt;
&lt;h3&gt;
                InterpolationMode&lt;/h3&gt;
&lt;p&gt;
                L&amp;#39;InterpolationMode &amp;egrave;, in questo contesto, di importanza vitale. Specifica infatti
                &amp;#39;algoritmo utilizzato quando le immagini vengono scalate o ruotate. Questi le possibili
                scelte:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica la modalit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Low&lt;/strong&gt;: Specifica un&amp;#39;interpolazione di bassa qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High&lt;/strong&gt;: Specifica un&amp;#39;interpolazione di elevata qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bilinear&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bilineare. Non viene effettuata alcuna
                    operazione di prefiltraggio. Questa modalit&amp;agrave; non &amp;egrave; adatta per la compattazione di
                    un&amp;#39;immagine al di sotto del 50% delle dimensioni originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bicubic&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bicubica. Non viene effettuata alcuna
                    operazione di prefiltraggio. Questa modalit&amp;agrave; non &amp;egrave; adatta per la compattazione di
                    un&amp;#39;immagine al di sotto del 25% delle dimensioni originali.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NearestNeighbor&lt;/strong&gt;: Specifica l&amp;#39;interpolazione pi&amp;ugrave; simile.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQualityBilinear&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bilineare di elevata qualit&amp;agrave;.
                    Viene effettuata un&amp;#39;operazione di prefiltraggio per assicurare una compattazione
                    di elevata qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQualityBicubic&lt;/strong&gt;: Specifica l&amp;#39;interpolazione bicubica di elevata qualit&amp;agrave;.
                    Viene effettuata un&amp;#39;operazione di prefiltraggio per assicurare una compattazione
                    di elevata qualit&amp;agrave;. Questa modalit&amp;agrave; produce le immagini trasformate di qualit&amp;agrave; pi&amp;ugrave;
                    elevata.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                CompositingMode&lt;/h3&gt;
&lt;p&gt;
                Il CompositingMode specifica il modo in cui i colori di origine vengono combinati
                con i colori dello sfondo. E&amp;#39; possibile assegnare uno dei due valori:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;SourceOver&lt;/strong&gt;: quando viene eseguito il rendering di un colore, tale colore
                    viene miscelato con il colore dello sfondo. La miscela di colori viene determinata
                    dal componente alpha del colore di cui viene eseguito il rendering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SourceCopy&lt;/strong&gt;: quando viene eseguito il rendering di un colore, tale colore
                    sovrascrive il colore dello sfondo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                CompositingQuality&lt;/h3&gt;
&lt;p&gt;
                La CompositingQuality specifica il livello di qualit&amp;agrave; da utilizzare durante la composizione.
                Questi sono i valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: qualit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: alta velocit&amp;agrave;, bassa qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: composizione di elevata qualit&amp;agrave; e ridotta velocit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GammaCorrected&lt;/strong&gt;: viene utilizzata la correzione gamma.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AssumeLinear&lt;/strong&gt;: vengono assunti i valori lineari.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                SmoothingMode&lt;/h3&gt;
&lt;p&gt;
                Lo SmoothingMode specifica se e come viene applicato l&amp;#39;anti-aliasing. Anche i questo
                caso abbiamo una serie di valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: Specifica il rendering con antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt;: Specifica l&amp;#39;assenza di antialias.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AntiAlias&lt;/strong&gt;: Specifica il rendering con antialias.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                PixelOffsetMode&lt;/h3&gt;
&lt;p&gt;
                Il PixelOffsetMode specifica la modalit&amp;agrave; di offset dei pixel durante l&amp;#39;esecuzione
                del rendering, in modo da controllare la qualit&amp;agrave; del rendering finale. Questi i
                valori ammissibili:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default&lt;/strong&gt;: Specifica la modalit&amp;agrave; predefinita.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighSpeed&lt;/strong&gt;: Specifica un rendering di elevata velocit&amp;agrave; e ridotta qualit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HighQuality&lt;/strong&gt;: Specifica un rendering di elevata qualit&amp;agrave; e ridotta velocit&amp;agrave;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;None&lt;/strong&gt;: Specifica l&amp;#39;assenza di offset di pixel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Half&lt;/strong&gt;: Specifica l&amp;#39;offset dei pixel in base a unit&amp;agrave; - .5, sia in senso orizzontale
                    che verticale, per ottenere un anti-aliasing di elevata velocit&amp;agrave;.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
&lt;/pre&gt;
&lt;p&gt;
                Definiti tutti i parametri di disegno ed effettuati i calcoli sul ridimensionamento,
                sono le due chiamate finali a generare l&amp;#39;immagine di output. Nella prima, il metodo
                FillRectangle, in uno dei suoi overload (2), disegna il livello di sfondo. Su di
                questo, la chiamata successiva, DrawImage, anch&amp;#39;essa in uno dei suoi overload (3),
                disegna l&amp;#39;immagine ridimensionata.&lt;/p&gt;
&lt;h3&gt;Il codice sorgente&lt;/h3&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt; 
#region Using directives
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
#endregion

namespace DotNetCampania.Imager
{
    public class ImageProcessor
    {
        #region Enums
        public enum ScaleMode
        {
            FitContainer,
            FitImage,
            FitAuto,
            NoFit
        }

        public enum Position
        {
            TopLeft,
            TopCenter,
            TopRight,
            MiddleLeft,
            MiddleCenter,
            MiddleRight,
            BottomLeft,
            BottomCenter,
            BottomRight,
            Undefined
        }
        #endregion

        #region Members
        private int _imageWidth;
        private int _imageHeight;
        private int _containerWidth;
        private int _containerHeight;
        private ScaleMode _scale;
        private Position _drawingPosition;
        private bool _proportional;
        private InterpolationMode _interpolation;
        private CompositingMode _compositingMode;
        private CompositingQuality _compositingQuality;
        private SmoothingMode _smoothing;
        private PixelOffsetMode _pixelOffsetMode;
        private Color _backgroundColor;
        private int _alpha;

        private int _offsetX;
        private int _offsetY;

        private ImageFormat _outputImageFormat;
        private long _jpegCompression;
        private float _horizontalResolution;
        private float _verticalResolution;
        #endregion

        #region Properties
        public int Width
        {
            get { return _imageWidth; }
            set { _imageWidth = value; }
        }
        public int Height
        {
            get { return _imageHeight; }
            set { _imageHeight = value; }
        }
        public int ContainerWidth
        {
            get { return _containerWidth; }
            set { _containerWidth = value; }
        }
        public int ContainerHeight
        {
            get { return _containerHeight; }
            set { _containerHeight = value; }
        }
        public Position DrawingPosition
        {
            get { return _drawingPosition; }
            set { _drawingPosition = value; }
        }
        public bool Proportional
        {
            get { return _proportional; }
            set { _proportional = value; }
        }
        public InterpolationMode Interpolation
        {
            get { return _interpolation; }
            set { _interpolation = value; }
        }
        public CompositingMode CompositingMode
        {
            get { return _compositingMode; }
            set { _compositingMode = value; }
        }
        public CompositingQuality CompositingQuality
        {
            get { return _compositingQuality; }
            set { _compositingQuality = value; }
        }
        public SmoothingMode Smoothing
        {
            get { return _smoothing; }
            set { _smoothing = value; }
        }
        public PixelOffsetMode PixelOffset
        {
            get { return _pixelOffsetMode; }
            set { _pixelOffsetMode = value; }
        }
        public Color BackgroundColor
        {
            get { return _backgroundColor; }
            set { _backgroundColor = value; }
        }
        public int Alpha
        {
            get { return _alpha; }
            set { _alpha = value; }
        }
        public int OffsetX
        {
            get { return _offsetX; }
            set { _offsetX = value; }
        }
        public int OffsetY
        {
            get { return _offsetY; }
            set { _offsetY = value; }
        }
        public ImageFormat OutputImageFormat
        {
            get { return this._outputImageFormat; }
            set { _outputImageFormat = value; }
        }
        public long JPEGCompression
        {
            get { return _jpegCompression; }
            set { _jpegCompression = value; }
        }
        public float HorizontalResolution
        {
            get { return _horizontalResolution; }
            set { _horizontalResolution = value; }
        }
        public float VerticalResolution
        {
            get { return _verticalResolution; }
            set { _verticalResolution = value; }
        }
        public ScaleMode Scale
        {
            get { return _scale; }
            set { _scale = value; }
        }
        #endregion

        #region Constructor(s)
        public ImageProcessor()
        {
            _imageWidth = default(int);
            _imageHeight = default(int);
            _containerWidth = default(int);
            _containerHeight = default(int);
            _drawingPosition = Position.Undefined;
            _interpolation = InterpolationMode.HighQualityBicubic;
            _compositingMode = CompositingMode.SourceOver;
            _compositingQuality = CompositingQuality.HighQuality;
            _smoothing = SmoothingMode.HighQuality;
            _pixelOffsetMode = PixelOffsetMode.HighQuality;

            _proportional = true;
            _alpha = 255;
            _backgroundColor = Color.White;

            _offsetX = 0;
            _offsetY = 0;
            _scale = ScaleMode.FitAuto;

            _outputImageFormat = ImageFormat.Jpeg;
            _jpegCompression = 80L;
            _horizontalResolution = 72f;
            _verticalResolution = 72f;
        }
        #endregion

        #region Public methods
        public Image Resize(Image image)
        {
            // Temp variables
            int newContainerWidth = _containerWidth;
            int newContainerHeight = _containerHeight;
            int newImageWidth = _imageWidth;
            int newImageHeight = _imageHeight;
            int newPositionX = 0;
            int newPositionY = 0;

            GetNewSizes(image, ref newContainerWidth, ref newContainerHeight, ref newImageWidth, ref newImageHeight);
            GetPositions(ref newPositionX, ref newPositionY, newContainerWidth, newContainerHeight, newImageWidth, newImageHeight);

            Bitmap retObj = new Bitmap(newContainerWidth, newContainerHeight);
            retObj.SetResolution(_horizontalResolution, _verticalResolution);

            Graphics g = Graphics.FromImage(retObj);
            g.CompositingMode = _compositingMode;
            g.CompositingQuality = _compositingQuality;
            g.SmoothingMode = _smoothing;
            g.InterpolationMode = _interpolation;
            g.PixelOffsetMode = _pixelOffsetMode;
            
            g.FillRectangle(GetBackground(), 0f, 0f, newContainerWidth, newContainerHeight);
            g.DrawImage(image, newPositionX + _offsetX, newPositionY + _offsetY, newImageWidth, newImageHeight);
            g.Dispose();
            return (Image)retObj;
        }

        public void Save(Image image, ImageFormat format, string outputFile)
        {
            if (format == ImageFormat.Jpeg)
            {
                ImageCodecInfo[] info = ImageCodecInfo.GetImageEncoders();
                EncoderParameters encoderParams = new EncoderParameters(1);
                encoderParams.Param[0] = new EncoderParameter(Encoder.Quality, _jpegCompression);
                image.Save(outputFile, info[1], encoderParams);
            }
            else
            {
                image.Save(outputFile, format);
            }
        }
        #endregion

        #region Private support methods
        private void GetNewSizes(Image image, ref int containerWidth, ref int containerHeight, ref int imageWidth, ref int imageHeight)
        {
            switch (_scale)
            {
                case ScaleMode.NoFit:
                    if (_proportional)
                    {
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    }
                    break;
                case ScaleMode.FitAuto:
                    CheckContainerSizes(ref imageWidth, ref imageHeight); 
                    if (_proportional)
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    break;
                case ScaleMode.FitContainer:
                    imageWidth = containerWidth;
                    imageHeight = containerHeight;
                    break;
                case ScaleMode.FitImage:
                    if (_proportional)
                        GetProportionalSizes(image, ref  imageWidth, ref  imageHeight);
                    containerWidth = imageWidth;
                    containerHeight = imageHeight;
                    break;
            }
        }

        private void GetPositions(ref int positionX, ref int positionY, int containerWidth, int containerHeight, int imageWidth, int imageHeight) {
            switch (_drawingPosition) {
                case Position.BottomCenter:
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));                    
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.BottomLeft: 
                    positionX = 0;
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.BottomRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = containerHeight - imageHeight;
                    break;
                case Position.MiddleCenter: 
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.MiddleLeft:
                    positionX = 0;
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.MiddleRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = (int)((containerHeight / 2) - (imageHeight / 2));
                    break;
                case Position.TopCenter: 
                    positionX = (int)((containerWidth / 2) - (imageWidth / 2));
                    positionY = 0;
                    break;
                case Position.TopLeft:
                    positionX = 0;
                    positionY = 0;
                    break;
                case Position.TopRight: 
                    positionX = containerWidth - imageWidth;
                    positionY = 0;
                    break;
            }
        }

        private void CheckContainerSizes(ref int imageWidth, ref int imageHeight)
        {
            bool exceedWidth = imageWidth &amp;gt; _containerWidth ? true : false;
            bool exceedHeight = imageHeight &amp;gt; _containerHeight ? true : false;

            if (exceedWidth &amp;amp; exceedHeight)
            {
                int horizontalSurplus = imageWidth - _containerWidth;
                int verticalSurplus = imageHeight - _containerHeight;

                if (horizontalSurplus &amp;gt; verticalSurplus)
                {
                    imageWidth = _containerWidth;
                    imageHeight = imageWidth * _containerHeight / _containerWidth;
                }
                else
                {
                    imageHeight = _containerHeight;
                    imageWidth = imageHeight * _containerWidth / _containerHeight;
                }
            }
            else
            {
                if (exceedWidth)
                {
                    imageWidth = _containerWidth;
                    imageHeight = imageWidth * _containerHeight / _containerWidth;
                }
                else
                {
                    imageHeight = _containerHeight;
                    imageWidth = imageHeight * _containerWidth / _containerHeight;
                }
            }

            // Change required size for auto fit
            _imageWidth = imageWidth;
            _imageHeight = imageHeight;
        }

        private void GetProportionalSizes(Image image, ref int imageWidth, ref int imageHeight)
        {
            bool exceedWidth = image.Width &amp;gt; imageWidth ? true : false;
            bool exceedHeight = image.Height &amp;gt; imageHeight ? true : false;

            if (exceedWidth &amp;amp; exceedHeight)
            {
                int horizontalSurplus = image.Width - _imageWidth;
                int verticalSurplus = image.Height - _imageHeight;

                if (horizontalSurplus &amp;gt; verticalSurplus)
                {
                    imageWidth = _imageWidth;
                    imageHeight = imageWidth * image.Height / image.Width;
                }
                else
                {
                    imageHeight = _imageHeight;
                    imageWidth = imageHeight * image.Width / image.Height;
                }
            }
            else
            {
                if (exceedWidth)
                {
                    imageWidth = _imageWidth;
                    imageHeight = imageWidth * image.Height / image.Width;
                }
                else
                {
                    imageHeight = _imageHeight;
                    imageWidth = imageHeight * image.Width / image.Height;
                }
            }
        }

        private SolidBrush GetBackground()
        {
            int alphaCheck = 255;
            if (_alpha &amp;lt; 0)
                alphaCheck = 0;
            else if (_alpha &amp;gt; 255)
                alphaCheck = 255;
            else
                alphaCheck = _alpha;
            return new SolidBrush(Color.FromArgb(alphaCheck, _backgroundColor));
        }
        #endregion
    }
}
        &lt;/pre&gt;
&lt;h3&gt;
                Download&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/wikis/articoli/add.aspx/Downloads/DotNetCampania.Imager.zip"&gt;&lt;/a&gt;&lt;a href="http://www.gianlucaesposito.it/dotnetcampania/downloads/DotNetCampania.Imager.zip"&gt;Download library (5 KB)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gianlucaesposito.it/dotnetcampania/downloads/DotNetCampania.Imager.SampleWeb.zip"&gt;Download web sample (130                     KB)&lt;/a&gt;&lt;a href="/wikis/articoli/add.aspx/Downloads/DotNetCampania.Imager.SampleWeb.zip"&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
                Riferimenti&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Riferimento a .NET Framework - Metodo Image.GetThumbnailImage [&lt;a href="http://msdn.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage.aspx"&gt;http://msdn.microsoft.com/it-it/library/system.drawing.image.getthumbnailimage.aspx&lt;/a&gt;]&lt;/li&gt;
&lt;li&gt;Graphics.FillRectangle Method (Brush, Rectangle) [&lt;a href="http://msdn.microsoft.com/en-us/library/yysstebh.aspx"&gt;http://msdn.microsoft.com/en-us/library/yysstebh.aspx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Metodo Graphics.DrawImage (Image, Int32, Int32, Int32, Int32) [&lt;a href="http://msdn.microsoft.com/it-it/library/dbsak4dc(v=VS.80).aspx"&gt;http://msdn.microsoft.com/it-it/library/dbsak4dc(v=VS.80).aspx&lt;/a&gt;]&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/0.aspx</link><pubDate>Thu, 08 Apr 2010 20:05:05 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:25</guid><dc:creator>ilNero</dc:creator><description>Current revision posted to Articoli by ilNero on 08/04/2010 22:05:05&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;style&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;type=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;text/css&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;url&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;http://www.gianlucaesposito.it/dotnetcampania/styles/shCore.css&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;url&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;http://www.gianlucaesposito.it/dotnetcampania/styles/shThemeDefault.css&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="overflow:auto;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi :)&lt;/p&gt;
&lt;p&gt;
&lt;script type="text/javascript"&gt;
&amp;lt;!--
        SyntaxHighlighter.all();
// --&amp;gt;
&lt;/script&gt;
&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/9.aspx</link><pubDate>Thu, 08 Apr 2010 20:04:27 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:74</guid><dc:creator>ilNero</dc:creator><description>Revision 9 posted to Articoli by ilNero on 08/04/2010 22:04:27&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;link&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;href=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shCore.css&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;type=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;media=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;rel=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Stylesheet&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;link&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;href=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shThemeDefault.css&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lt;style&lt;/span&gt; type=&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;media=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;rel=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Stylesheet&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;&amp;quot;text/css&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;import&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;url&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;http://www.gianlucaesposito.it/dotnetcampania/styles/shCore.css&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;import&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;url&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;http://www.gianlucaesposito.it/dotnetcampania/styles/shThemeDefault.css&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shCore.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shBrushCSharp.js"&gt;&lt;/script&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi :)&lt;/p&gt;
&lt;p&gt;
&lt;script type="text/javascript"&gt;
&amp;lt;!--
        SyntaxHighlighter.all();
// --&amp;gt;
&lt;/script&gt;
&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/8.aspx</link><pubDate>Thu, 08 Apr 2010 20:02:31 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:73</guid><dc:creator>ilNero</dc:creator><description>Revision 8 posted to Articoli by ilNero on 08/04/2010 22:02:31&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&amp;lt;link href=&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shCore.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; rel=&amp;quot;Stylesheet&amp;quot; /&amp;gt;
&amp;lt;link href=&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shThemeDefault.css&amp;quot; type=&amp;quot;text/css&amp;quot; media=&amp;quot;screen&amp;quot; rel=&amp;quot;Stylesheet&amp;quot; /&amp;gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shCore.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shBrushCSharp.js"&gt;&lt;/script&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi :)&lt;/p&gt;
&lt;p&gt;
&lt;script type="text/javascript"&gt;
&amp;lt;!--
        SyntaxHighlighter.all();
// --&amp;gt;
&lt;/script&gt;
&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/7.aspx</link><pubDate>Thu, 08 Apr 2010 19:56:44 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:72</guid><dc:creator>ilNero</dc:creator><description>Revision 7 posted to Articoli by ilNero on 08/04/2010 21:56:44&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
&lt;span style="background: SpringGreen;"&gt;&amp;lt;link&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;href=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shCore.css&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;type=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;media=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;rel=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Stylesheet&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;&amp;lt;link&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;href=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;http://www.gianlucaesposito.it/dotnetcampania/styles/shThemeDefault.css&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;type=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;text/css&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;media=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;screen&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;rel=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Stylesheet&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&lt;/span&gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shCore.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="http://www.gianlucaesposito.it/dotnetcampania/js/shBrushCSharp.js"&gt;&lt;/script&gt;
&lt;/p&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi :)&lt;/p&gt;
&lt;p&gt;
&lt;script type="text/javascript"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;lt;!--&lt;/span&gt;
        &lt;span style="background: SpringGreen;"&gt;SyntaxHighlighter.all()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;
&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&lt;/span&gt;&lt;/script&gt;
&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/6.aspx</link><pubDate>Thu, 08 Apr 2010 18:35:09 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:71</guid><dc:creator>ilNero</dc:creator><description>Revision 6 posted to Articoli by ilNero on 08/04/2010 20:35:09&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://crockford.com/javascript/jsmin" target="_blank"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dojotoolkit.org/docs/shrinksafe" target="_blank"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dean.edwards.name/packer/" target="_blank"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/compressor/" target="_blank"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a href="http://yuicompressor.codeplex.com/" target="_blank"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre style="font-size:11px;overflow:auto;" class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi &lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mentre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;godo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fresco&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;temporalone&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;estivo&lt;/span&gt; :)&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/5.aspx</link><pubDate>Thu, 08 Apr 2010 11:03:02 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:70</guid><dc:creator>ilNero</dc:creator><description>Revision 5 posted to Articoli by ilNero on 08/04/2010 13:03:02&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="font-size:11px;overflow:auto;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi, mentre mi godo il fresco di questo temporalone estivo :)&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/4.aspx</link><pubDate>Thu, 08 Apr 2010 11:02:08 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:69</guid><dc:creator>ilNero</dc:creator><description>Revision 4 posted to Articoli by ilNero on 08/04/2010 13:02:08&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://crockford.com/javascript/jsmin" target="_blank"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dojotoolkit.org/docs/shrinksafe" target="_blank"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dean.edwards.name/packer/" target="_blank"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/compressor/" target="_blank"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a href="http://yuicompressor.codeplex.com/" target="_blank"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre style="font-size:11px;" class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi, mentre mi godo il fresco di questo temporalone estivo :)&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/3.aspx</link><pubDate>Thu, 08 Apr 2010 11:01:46 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:68</guid><dc:creator>ilNero</dc:creator><description>Revision 3 posted to Articoli by ilNero on 08/04/2010 13:01:46&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;" style="font-size:10px;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi, mentre mi godo il fresco di questo temporalone estivo :)&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/2.aspx</link><pubDate>Thu, 08 Apr 2010 10:57:56 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:67</guid><dc:creator>ilNero</dc:creator><description>Revision 2 posted to Articoli by ilNero on 08/04/2010 12:57:56&lt;br /&gt;
&lt;h2&gt;CSS e Javascript minification con ASP.NET&lt;/h2&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://crockford.com/javascript/jsmin" target="_blank"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dojotoolkit.org/docs/shrinksafe" target="_blank"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dean.edwards.name/packer/" target="_blank"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/yui/compressor/" target="_blank"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a href="http://yuicompressor.codeplex.com/" target="_blank"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using Yahoo.Yui.Compressor;

namespace DotNetCampania.Web.Handlers
{
	public class YUICompressor : IHttpHandler
	{
		private const int DEFAULT_CACHE_DURATION = 1440;
		private bool useCache = true;
		private bool noCompression = false;

		public bool IsReusable { get { return true; } }
		
		public void ProcessRequest(HttpContext context)
		{
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
			bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
			context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
			string filePath = GetFilePath();
			string fileExtension = Path.GetExtension(filePath);
			if (File.Exists(filePath))
			{
				context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
				switch (fileExtension)
				{
					case &amp;quot;.css&amp;quot;:
						context.Response.ContentType = &amp;quot;text/css&amp;quot;;
						if (!this.noCompression) 
							CompressCSS(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					case &amp;quot;.js&amp;quot; :
						context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
						if (!this.noCompression)
							CompressJavaScript(filePath);
						else
							HttpContext.Current.Response.WriteFile(filePath);
						break;
					default :
						context.Response.StatusCode = 404;
						break;
				}
			}
			else
			{
				context.Response.StatusCode = 404;
			}
			context.Response.Flush();
			context.Response.End();
		}
		
		private string GetFilePath()
		{
			string filePath = HttpContext.Current.Request.Url.AbsolutePath;
			filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
			filePath = HttpContext.Current.Server.MapPath(filePath);
			return filePath;
		}

		private void CompressCSS(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = CssCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}

		private void CompressJavaScript(string filePath)
		{
			if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
			{
				HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
				return;
			}
			object fileLock = new object();
			lock (fileLock)
			{
				StreamReader sr = new StreamReader(filePath, true);
				string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
				HttpContext.Current.Response.Write(compressed);
				if (this.useCache)
					HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
				sr.Close();
			}
		}
	}
}
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi, mentre mi godo il fresco di questo temporalone estivo :)&lt;/p&gt;</description></item><item><title>CSS e Javascript minification con ASP.NET</title><link>http://dotnetcampania.org/wikis/articoli/css-e-javascript-minification-con-asp-net/revision/1.aspx</link><pubDate>Thu, 08 Apr 2010 10:57:01 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:66</guid><dc:creator>ilNero</dc:creator><description>Revision 1 posted to Articoli by ilNero on 08/04/2010 12:57:01&lt;br /&gt;
&lt;p&gt;
        Chiunque abbia a che fare con la programmazione web si sar&amp;agrave; reso conto che l&amp;#39;utilizzo
        dei CSS, cos&amp;igrave; come l&amp;#39;utilizzo di framework javascript come jQuery, sia ormai praticamente
        uno standard de-facto.&lt;br /&gt;
        Per quanto riguarda i framework Javascript, questi vengono rilasciati costantemente
        sia in versione &amp;#39;sources&amp;#39; che in versione &amp;#39;minified&amp;#39;, lasciando per&amp;ograve; la scelta del
        minifier da utilizzare esclusivamente ai creatori/mantainer del framework.&lt;br /&gt;
        Purtroppo ho la smania di tenere costantemente tutto sotto controllo, ragion per
        cui negli ultimi mesi ho cominciato a studiare i vari software che operano la &lt;em&gt;minification&lt;/em&gt;.&lt;br /&gt;
        Sul web se ne trovano diversi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a target="_blank" href="http://crockford.com/javascript/jsmin"&gt;JSMIN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dojotoolkit.org/docs/shrinksafe"&gt;the Dojo compressor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://dean.edwards.name/packer/"&gt;Dean Edwards&amp;#39; Packer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
        Su tutti, la mia attenzione si &amp;egrave; focalizzata molto su &lt;strong&gt;YUI Compressor&lt;/strong&gt;, che
        a detta dei suoi sviluppatori&lt;/p&gt;
&lt;p&gt;
        &lt;em&gt;The YUI Compressor is JavaScript minifier designed to be 100% safe and yield a higher
            compression ratio than most other tools.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
        Dopo diversi test e diverse rilasci in produzione di fogli di stile e codice javascript
        minimizzato con questo tool, posso affermare di non aver mai riscontrato incompatibilit&amp;agrave;
        o problemi di sorta.&lt;br /&gt;
        L&amp;#39;unico grande difetto di questo tool &amp;egrave; il suo essere un tool da riga di comando,
        il che si traduce in una serie di step da eseguire in pre-produzione.&lt;br /&gt;
        Se da un lato, le modifiche a queste tipologie di file, sono rare, una volta raggiunta
        la fase di rilascio, &amp;egrave; pur vero che piccole migliorie vengono sempre apportate dopo
        il rilascio di una applicazione web.&lt;br /&gt;
        Stanco quindi di aprire frequentemente il prompt dei comandi, ho cercato una soluzione
        da inglobare direttamente nei progetti web, che riuscisse a minimizzare &lt;em&gt;on-the-fly&lt;/em&gt;
        i CSS e i JS.&lt;/p&gt;
&lt;p&gt;
        Animato dall&amp;#39;esigenza e dalla scoperta di questo porting per .NET &lt;a target="_blank" href="http://yuicompressor.codeplex.com/"&gt;YUI Compresso for .NET&lt;/a&gt;, ho buttato gi&amp;ugrave; questo semplice HttpHandler,
        capace di riconoscere le richieste giuste e rispondere con la versione minimizzata
        del file richiesto.&lt;/p&gt;
&lt;pre class="brush: c-sharp;"&gt;        using System;
        using System.Collections.Generic;
        using System.IO;
        using System.Linq;
        using System.Text;
        using System.Web;
        using Yahoo.Yui.Compressor;

        namespace DotNetCampania.Web.Handlers
        {
            public class YUICompressor : IHttpHandler
            {
                private const int DEFAULT_CACHE_DURATION = 1440;
                private bool useCache = true;
                private bool noCompression = false;

                public bool IsReusable { get { return true; } }
                
                public void ProcessRequest(HttpContext context)
                {
                    bool.TryParse(context.Request.QueryString.Get(&amp;quot;useCache&amp;quot;), out this.useCache);
                    bool.TryParse(context.Request.QueryString.Get(&amp;quot;noCompression&amp;quot;), out this.noCompression);
                    context.Response.ContentType = &amp;quot;text/plain&amp;quot;;
                    string filePath = GetFilePath();
                    string fileExtension = Path.GetExtension(filePath);
                    if (File.Exists(filePath))
                    {
                        context.Response.AddHeader(&amp;quot;Content-Disposition&amp;quot;, &amp;quot;filename=&amp;quot; + Path.GetFileName(filePath));
                        switch (fileExtension)
                        {
                            case &amp;quot;.css&amp;quot;:
                                context.Response.ContentType = &amp;quot;text/css&amp;quot;;
                                if (!this.noCompression) 
                                    CompressCSS(filePath);
                                else
                                    HttpContext.Current.Response.WriteFile(filePath);
                                break;
                            case &amp;quot;.js&amp;quot; :
                                context.Response.ContentType = &amp;quot;application/x-javascript&amp;quot;;
                                if (!this.noCompression)
                                    CompressJavaScript(filePath);
                                else
                                    HttpContext.Current.Response.WriteFile(filePath);
                                break;
                            default :
                                context.Response.StatusCode = 404;
                                break;
                        }
                    }
                    else
                    {
                        context.Response.StatusCode = 404;
                    }
                    context.Response.Flush();
                    context.Response.End();
                }
                
                private string GetFilePath()
                {
                    string filePath = HttpContext.Current.Request.Url.AbsolutePath;
                    filePath = filePath.TrimEnd(&amp;quot;.axd&amp;quot;.ToCharArray());
                    filePath = HttpContext.Current.Server.MapPath(filePath);
                    return filePath;
                }

                private void CompressCSS(string filePath)
                {
                    if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
                    {
                        HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
                        return;
                    }
                    object fileLock = new object();
                    lock (fileLock)
                    {
                        StreamReader sr = new StreamReader(filePath, true);
                        string compressed = CssCompressor.Compress(sr.ReadToEnd());
                        HttpContext.Current.Response.Write(compressed);
                        if (this.useCache)
                            HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
                        sr.Close();
                    }
                }

                private void CompressJavaScript(string filePath)
                {
                    if (this.useCache &amp;amp; HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()] != null)
                    {
                        HttpContext.Current.Response.Write((string)HttpContext.Current.Cache[HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString()]);
                        return;
                    }
                    object fileLock = new object();
                    lock (fileLock)
                    {
                        StreamReader sr = new StreamReader(filePath, true);
                        string compressed = JavaScriptCompressor.Compress(sr.ReadToEnd());
                        HttpContext.Current.Response.Write(compressed);
                        if (this.useCache)
                            HttpContext.Current.Cache.Add(HttpContext.Current.Request.Url.AbsolutePath.GetHashCode().ToString(), compressed, null, DateTime.MaxValue, new TimeSpan(0, DEFAULT_CACHE_DURATION, 0), System.Web.Caching.CacheItemPriority.Normal, null);
                        sr.Close();
                    }
                }
            }
        }
    &lt;/pre&gt;
&lt;p&gt;
        L&amp;#39;handler va ovviamente mappato nel web.config. Devo per&amp;ograve; fornire una doverosa annotazione:
        nel mio caso ho mappato le estensioni &lt;strong&gt;*.js.axd&lt;/strong&gt; e &lt;strong&gt;*.css.axd&lt;/strong&gt;. Questa
        scelta mi obbliga a dover fare attenzione nelle pagine .aspx o .html che creo, in
        quanto i riferimenti ai fogli di stile ed ai file javascript devono finire con questa
        estensione per essere processati. In un contesto di hosting condiviso (leggi Aruba),
        dove non ho possibilit&amp;agrave; di intervento sulle estensioni mappate in IIS, questa mi
        sembrava la scelta migliore. In contesti di maggior libert&amp;agrave; di mapping delle estensioni
        in IIS, sarebbe bastato mappare le estensioni .css e .js sull&amp;#39;engine di ASP.NET,
        e mappare le stesse estensioni sull&amp;#39;handler.&lt;/p&gt;
&lt;p&gt;
        Come si evince dal codice, l&amp;#39;handler utilizza anche la cache in modo da evitare
        di processare i singoli file ad ogni richiesta, ma solo quando strettamente necessario.&lt;/p&gt;
&lt;p&gt;
        Una ulteriore aggiunta potrebbe essere l&amp;#39;utilizzo di chiavi negli appSettings, in
        modo da controllare l&amp;#39;abilitazione globale dell&amp;#39;handler direttamente da web.config,
        ma lo lascio fare a voi, mentre mi godo il fresco di questo temporalone estivo :)&lt;/p&gt;</description></item><item><title>Progetto GeRi – Parte 3</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-3/revision/0.aspx</link><pubDate>Wed, 07 Apr 2010 18:53:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:24</guid><dc:creator>Alessandro Forte</dc:creator><description>Current revision posted to Articoli by Alessandro Forte on 07/04/2010 20:53:50&lt;br /&gt;
&lt;p&gt;
&lt;p&gt;Il terzo articolo di questa miniserie sullo sviluppo di un applicativo 
&amp;ldquo;enterprise&amp;rdquo; verter&amp;agrave; sull&amp;rsquo;architettura dell&amp;rsquo;applicativo.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Architecture &amp;ndash; L&amp;rsquo;Architettura &lt;br /&gt;&lt;/strong&gt;GeRi &amp;egrave; una piattaforma 
software che nasce con lo scopo di gestire tutte le attivit&amp;agrave;, dirette e 
indirette, connesse ad una centro assistenza. &lt;br /&gt;Analizziamo di seguito alcune 
scelte di tipo architetturale, prima di passare direttamente alla fase di design 
dell&amp;rsquo;applicativo. &lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;br /&gt;SOA - Service Oriented 
Application&lt;/em&gt;&lt;/strong&gt;. &lt;br /&gt;Come &amp;egrave; stato evidenziato nei precedenti articoli, 
la nostra piattaforma deve essere in grado di &amp;ldquo;agganciarsi&amp;rdquo; a &lt;span style="text-decoration:underline;"&gt;servizi&lt;/span&gt; di 
fornitori esterni per espletare alcune operazioni. &lt;br /&gt;Un esempio su tutti &amp;egrave; la 
necessit&amp;agrave; di inviare messaggi SMS. &lt;br /&gt;Ma oltre ad &lt;span style="text-decoration:underline;"&gt;usufruire di servizi 
esterni&lt;/span&gt;, la nostra piattaforma deve essere anche in grado di &lt;span style="text-decoration:underline;"&gt;erogare 
servizi&lt;/span&gt;, acquisendo e garantendo quindi un certo grado di flessibilit&amp;agrave; con 
il mondo dell&amp;rsquo;integrazione. &lt;br /&gt;Erogare/esporre servizi, significa anche 
permettere facilmente a sistemi esterni (magari realizzati con linguaggi e 
tecnologie differenti) in prima istanza di dialogare con il nostro sistema, e in 
seconda istanza di implementare moduli di integrazione con la nostra 
piattaforma. &lt;br /&gt;Ad esempio non &amp;egrave; da ritenersi rara la possibilit&amp;agrave; di 
&amp;ldquo;integrazione&amp;rdquo; del nostro sistema con sistemi di fatturazione di terze parti. 
&lt;br /&gt;Per questo motivo ritengo valido scegliere un&amp;rsquo;architettura di tipo SOA 
ovvero &amp;ldquo;&lt;strong&gt;Orientata ai Servizi&lt;/strong&gt;&amp;rdquo;. 
&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Architectural View&lt;/em&gt;&lt;/strong&gt; &lt;br /&gt;&lt;a&gt;&lt;img style="float:left;border:0;" height="244" width="126" src="http://www.cis.net.nz/public/diagram_ntier.jpg" align="left" alt="Applicazione N-Tier" border="0" title="diagram_ntier" /&gt;&lt;/a&gt;Avendo ben chiaro il contesto architetturale nel quale 
intendiamo realizzare la nostra applicazione, analizziamo di seguito alcune 
scelte su come organizzare l&amp;rsquo;architettura dell&amp;rsquo;applicativo.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;applicazione sar&amp;agrave; organizzata secondo una classica architettura di tipo 
&lt;strong&gt;N-Tier&lt;/strong&gt;. &lt;br /&gt;Ma cos&amp;rsquo;&amp;egrave; un applicazione N-Tier? &lt;br /&gt;Una 
architettura di tipo N-Tier indica una particolare architettura software che 
prevede la suddivisione del sistema in N diversi livelli (logici e fisici) che 
svolgono funzionalit&amp;agrave; diverse (opzionalmente su nodi diversi della rete). &lt;br /&gt;Ad 
esempio esiste il livello per la gestione dell&amp;rsquo;interfaccia utente 
(&lt;strong&gt;&lt;em&gt;UI Layer&lt;/em&gt;&lt;/strong&gt;), quello per la logica funzionale 
(&lt;em&gt;&lt;strong&gt;Business Layer&lt;/strong&gt;&lt;/em&gt;) e quello per la gestione della 
persistenza dei dati (&lt;em&gt;&lt;strong&gt;Data Access Layer&lt;/strong&gt;&lt;/em&gt;). &lt;br /&gt;In 
questo modo, ciascuno degli N livelli pu&amp;ograve; essere modificato o sostituito 
indipendentemente dagli altri. &lt;br /&gt;Nella maggior parte dei casi, si intende 
anche che i diversi livelli siano distribuiti su 
diversi nodi di una rete anche eterogenea. 
&lt;br /&gt;Questo &amp;egrave; alla base della distinzione tra Layer e Tier.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;strong&gt;Layer&lt;/strong&gt; indica un raggruppamento logico delle funzionalit&amp;agrave; 
&lt;/li&gt;
&lt;li&gt;Un &lt;strong&gt;Tier&lt;/strong&gt; indica un raggruppamento fisico delle funzionalit&amp;agrave; 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un esempio tipico di architettura N-Tier, dove N=3, detta appunto 
&lt;i&gt;three-tier&lt;/i&gt; prevede, per esempio:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;un Tier di presentazione identificato da un PC dedicato all&amp;#39;interfaccia utente 
grafica (su cui persiste quindi il layer di presentazione o UI Layer) 
&lt;/li&gt;
&lt;li&gt;un Tier di Business Logic indentificato da una workstation o un application 
server per l&amp;rsquo;esecuzione di business logic 
&lt;/li&gt;
&lt;li&gt;un Tier di Database indentificato da un database server o un mainframe per 
la gestione dei dati. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In merito alla nostra applicazione avremo quindi i seguenti 
&lt;strong&gt;Layers&lt;/strong&gt; :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Data Access Layer (da ora in poi &lt;strong&gt;DAL&lt;/strong&gt;) &amp;egrave; il livello di 
interazione con la base di dati, dove si effettuano le connessioni e si eseguono 
query di selezione, inserimento, aggiornamento o cancellazione. 
&lt;/li&gt;
&lt;li&gt;Business Layer (da ora in poi &lt;strong&gt;BL&lt;/strong&gt;) &amp;egrave; il livello che ha la 
responsabilit&amp;agrave; di gestire le richieste utente ricevute attraverso l&amp;rsquo;Uil o SL, di 
effettuare il routing di queste richieste agli appropriati elementi di business, 
di processare i risultati dell&amp;#39;elaborazione e ritornare i dati necessari all&amp;rsquo;Uil 
o SL per la successiva presentazione all&amp;#39;utente. 
&lt;/li&gt;
&lt;li&gt;Service Layer (da ora in poi &lt;strong&gt;SL&lt;/strong&gt;) &amp;egrave; il livello che svolge la 
funzione di &amp;ldquo;collante&amp;rdquo; tra il BL e l&amp;rsquo;UiL ed &amp;egrave; caratterizzato da un numero di 
servizi che espongono al &amp;ldquo;mondo esterno&amp;rdquo; le funzionalit&amp;agrave; business. 
&lt;/li&gt;
&lt;li&gt;User Interface Layer (da ora in poi &lt;strong&gt;UiL&lt;/strong&gt;) &amp;egrave; il livello che 
si occupa della presentazione e della logica di interazione con l&amp;#39;utente, 
interagendo con il BL per l&amp;#39;accesso ai servizi richiesti. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Organizzati nei seguenti &lt;strong&gt;Tiers&lt;/strong&gt; :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Database Tier, ovvero il livello fisico su cui deployeremo il nostro 
Database. 
&lt;/li&gt;
&lt;li&gt;Application Server Tier, ovvero il livello fisico su cui deployeremo il BL e 
il SL. 
&lt;/li&gt;
&lt;li&gt;Presentation Tier, ovvero il livello fisico su cui deployeremo l&amp;rsquo;interfaccia 
grafica della nostra applicazione.&lt;span style="color:#ff0000;"&gt;&lt;/span&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ritengo concluso il terzo articolo della serie, che &amp;egrave; servito a delineare 
l&amp;rsquo;aspetto architetturale su cui si fonda la soluzione da implementare. &lt;br /&gt;Scopo 
del prossimo articolo sar&amp;agrave; quello di &amp;ldquo;&lt;span style="text-decoration:underline;"&gt;creare gli use cases&lt;/span&gt;&amp;rdquo; e quindi 
&amp;quot;&lt;span style="text-decoration:underline;"&gt;disegnare il nostro Core&lt;/span&gt;&amp;quot;. &lt;br /&gt;Non mi resta quindi che finire con il 
classico : &lt;br /&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt; See u in the next 
episode &lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/p&gt;
&lt;p&gt;(Fonte : Alessandro Forte - &lt;a href="http://www.alessandroforte.it/"&gt;http://www.alessandroforte.it/&lt;/a&gt;)&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/0.aspx</link><pubDate>Tue, 16 Feb 2010 10:37:01 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:16</guid><dc:creator>Liccardi Antonio</dc:creator><description>Current revision posted to Articoli by Liccardi Antonio on 16/02/2010 11:37:01&lt;br /&gt;
&lt;h2&gt;Starting on Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;windows&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mobile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;guida&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tutorial&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;articoli&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni, Gesture API. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;a target="_blank" href="/wikis/articoli/i-fondamenti-del-net-compact-framework.aspx"&gt;I fondamenti del .Net Compact Framework&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="/wikis/articoli/sviluppo-di-una-semplice-applicazione.aspx"&gt;Sviluppo di una semplice applicazione&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="background: SpringGreen;"&gt;GUI&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Memorizzazione dei file&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;GUI&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Applicazioni Client/Server e HttpRequest&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P/Invoke&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione delle eccezioni&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione della sicurezza&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Globalizzazione e Localizzazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.Net Compact Framework Graphics&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Widget&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gesture API&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/5.aspx</link><pubDate>Tue, 05 Jan 2010 23:55:00 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:61</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 5 posted to Articoli by Liccardi Antonio on 06/01/2010 00:55:00&lt;br /&gt;
&lt;h2&gt;Starting on Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile guida tutorial articoli&lt;/div&gt;

&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni, Gesture API. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;a target="_blank" href="/wikis/articoli/i-fondamenti-del-net-compact-framework.aspx"&gt;I fondamenti del .Net Compact Framework&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="/wikis/articoli/sviluppo-di-una-semplice-applicazione.aspx"&gt;Sviluppo di una semplice applicazione&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Memorizzazione dei file&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GUI&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Applicazioni Client/Server e HttpRequest&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P/Invoke&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione delle eccezioni&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione della sicurezza&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Globalizzazione e Localizzazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.Net Compact Framework Graphics&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Widget&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gesture API&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/4.aspx</link><pubDate>Mon, 14 Sep 2009 20:42:35 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:59</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 4 posted to Articoli by Liccardi Antonio on 14/09/2009 22:42:35&lt;br /&gt;
&lt;h2&gt;Starting on Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile guida tutorial articoli&lt;/div&gt;

&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni, Gesture API. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[articoli:I&lt;/span&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="/wikis/articoli/i-fondamenti-del-net-compact-framework.aspx" target="_blank"&gt;&lt;span style="background: SpringGreen;"&gt;I&lt;/span&gt; fondamenti del .Net Compact &lt;span style="text-decoration: line-through; color: red;"&gt;Framework|http://dotnetcampania.org/wikis/articoli/i-fondamenti-del-net-compact-framework.aspx]&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;]&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Framework&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Sviluppo di una semplice applicazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Memorizzazione dei file&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GUI&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Applicazioni Client/Server e HttpRequest&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P/Invoke&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione delle eccezioni&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione della sicurezza&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Globalizzazione e Localizzazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.Net Compact Framework Graphics&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Widget&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gesture API&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/3.aspx</link><pubDate>Mon, 14 Sep 2009 20:41:46 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:48</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 3 posted to Articoli by Liccardi Antonio on 14/09/2009 22:41:46&lt;br /&gt;
&lt;h2&gt;Starting on Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile guida tutorial articoli&lt;/div&gt;

&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni, Gesture API. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;I&lt;/span&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;&lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;[articoli:I&lt;/span&gt; fondamenti del .Net Compact &lt;span style="text-decoration: line-through; color: red;"&gt;Framework&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Framework|http://dotnetcampania.org/wikis/articoli/i-fondamenti-del-net-compact-framework.aspx]&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Sviluppo di una semplice applicazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Memorizzazione dei file&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GUI&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Applicazioni Client/Server e HttpRequest&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P/Invoke&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione delle eccezioni&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione della sicurezza&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Globalizzazione e Localizzazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.Net Compact Framework Graphics&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Widget&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gesture API&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/2.aspx</link><pubDate>Wed, 02 Sep 2009 08:33:48 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:47</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 2 posted to Articoli by Liccardi Antonio on 02/09/2009 10:33:48&lt;br /&gt;
&lt;h2&gt;Starting on Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile guida tutorial articoli&lt;/div&gt;

&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Gesture&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;API&lt;/span&gt;. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;I fondamenti del .Net Compact Framework&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Sviluppo di una semplice applicazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Memorizzazione dei file&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;GUI&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Applicazioni Client/Server e &lt;span style="text-decoration: line-through; color: red;"&gt;Http&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Request&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;HttpRequest&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;P/Invoke&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione delle eccezioni&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gestione della sicurezza&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Globalizzazione e Localizzazione&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;.Net Compact Framework Graphics&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Widget&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Gesture API&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Starting on Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/starting-on-windows-mobile/revision/1.aspx</link><pubDate>Tue, 01 Sep 2009 16:57:33 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:44</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 1 posted to Articoli by Liccardi Antonio on 01/09/2009 18:57:33&lt;br /&gt;
&lt;p&gt;Si pu&amp;ograve; dire con tutta certezza che ormai le vacanze sono finite. Nonostante la notte immagini ancora il sapore in bocca degli arancini al rag&amp;ugrave;, penso sia arrivato il momento di rimboccarsi le maniche e ricominciare con gli articoli dedicati al mondo di Windows Mobile.&lt;/p&gt;
&lt;p&gt;Nelle prossime settimane pubblicher&amp;ograve; 15 articoli che tratteranno l&amp;rsquo;argomento, con l&amp;rsquo;intento di finire questa prima panoramica orientativamente con l&amp;rsquo;inizio del 2010. Nel corso di questi articoli saranno affrontate tematiche basilari, proprie del .Net Compact Framework, ma anche argomenti abbastanza avanzati, come la persistenza dei dati, le P/Invoke, la localizzazione, la sicurezza e la gestione delle eccezioni. Non mi resta che darvi un elenco degli articoli (suscettibile a variazioni):&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;I fondamenti del .Net Compact Framework&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sviluppo di una semplice applicazione&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Persistenza dei dati con SqlServer Compact Edition&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memorizzazione dei file&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GUI&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Applicazioni Client/Server e Http Request&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;P/Invoke&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestione delle eccezioni&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gestione della sicurezza&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Globalizzazione e Localizzazione&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;.Net Compact Framework Graphics&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le novit&amp;agrave; di Windows Mobile 6.5&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strumenti utili allo sviluppatore di applicazioni mobile&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Widget&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gesture API&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Non ho ancora deciso la modalit&amp;agrave; di pubblicazione degli articoli. Sicuramente per quelli in cui c&amp;rsquo;&amp;egrave; molta teoria, creer&amp;ograve; degli articoli di testo. Per quelli invece in cui occorre vedere da vicino codice e configurazione, penso che il webcast sia pi&amp;ugrave; adatto. &lt;/p&gt;
&lt;p&gt;Non mi resta che dirvi di restare sintonizzati!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Enjoy it &amp;amp;&amp;amp; keep coding!&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/0.aspx</link><pubDate>Wed, 06 Jan 2010 11:21:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:22</guid><dc:creator>Liccardi Antonio</dc:creator><description>Current revision posted to Articoli by Liccardi Antonio on 06/01/2010 12:21:51&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;windows&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mobile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;first&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;app&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt; 
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e portano l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;it&amp;#39;s all about development...&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/4.aspx</link><pubDate>Tue, 05 Jan 2010 23:53:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:60</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 4 posted to Articoli by Liccardi Antonio on 06/01/2010 00:53:51&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e portano l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="background: SpringGreen;"&gt;it&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;s&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;about&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;development..&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/3.aspx</link><pubDate>Tue, 05 Jan 2010 23:53:05 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:58</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 3 posted to Articoli by Liccardi Antonio on 06/01/2010 00:53:05&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="454" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image5[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="396" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image10[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="163" width="244" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image15[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="194" width="488" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[14].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e &lt;span style="text-decoration: line-through; color: red;"&gt;porta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;portano&lt;/span&gt; l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="375" width="631" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[15].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="129" width="329" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[16].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="371" width="322" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[17].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/2.aspx</link><pubDate>Tue, 05 Jan 2010 23:46:55 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:57</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 2 posted to Articoli by Liccardi Antonio on 06/01/2010 00:46:55&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WEBCAST]&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;L’intento&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;intento&lt;/span&gt; di questo articolo &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; quello di approfondire &lt;span style="text-decoration: line-through; color: red;"&gt;ciò&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; che si &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; detto nel webcast.&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Ciò&lt;/span&gt; &lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Ci&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; che ci occorre &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina &lt;span style="text-decoration: line-through; color: red;"&gt;l’Active&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;Active&lt;/span&gt; Sync o maggiore. &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;L’installazione&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;installazione&lt;/span&gt; di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un &lt;span style="text-decoration: line-through; color: red;"&gt;sms…)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;sms&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un &lt;span style="text-decoration: line-through; color: red;"&gt;pò&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;p&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; davvero semplice. Una volta aperto &lt;span style="text-decoration: line-through; color: red;"&gt;l’IDE&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;IDE&lt;/span&gt; basta fare click su Nuovo &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="454" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="454" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image5[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi &lt;span style="text-decoration: line-through; color: red;"&gt;dell’IDE&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;IDE)&lt;/span&gt; la seguente schermata: &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="396" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="396" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image10[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="244" height="163" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="163" width="244" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image15[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis &lt;span style="text-decoration: line-through; color: red;"&gt;c’è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;c&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;&amp;egrave;&lt;/span&gt; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il &lt;span style="text-decoration: line-through; color: red;"&gt;l’entry-point&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;entry-point&lt;/span&gt; principale &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt; Aprendo il file notiamo del codice che consente di far partire &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="488" height="194" /&gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="194" width="488" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[14].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire &lt;span style="text-decoration: line-through; color: red;"&gt;nell’unica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;unica&lt;/span&gt; riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt; In tale form abbiamo la &lt;span style="text-decoration: line-through; color: red;"&gt;possibilità&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &lt;span style="text-decoration: line-through; color: red;"&gt;“&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;reference”&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ldquo;reference&amp;rdquo;&lt;/span&gt; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e &lt;span style="text-decoration: line-through; color: red;"&gt;l’AssemblyInfo.cs&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;AssemblyInfo.cs,&lt;/span&gt; che serve per definire informazioni riguardante &lt;span style="text-decoration: line-through; color: red;"&gt;l’assembly&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;assembly&lt;/span&gt; generato &lt;span style="text-decoration: line-through; color: red;"&gt;dall’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dall&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti &lt;span style="text-decoration: line-through; color: red;"&gt;l’ambiente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;ambiente&lt;/span&gt; di esecuzione. Unica differenza &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;però&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; la scelta della piattaforma di destinazione. Uno sviluppatore &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; scegliere la tipologia di dispositivo in cui &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;verrà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;verr&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; direttamente sul dispositivo fisico. In &lt;span style="text-decoration: line-through; color: red;"&gt;quest’ultimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quest&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;ultimo&lt;/span&gt; caso, Visual Studio &lt;span style="text-decoration: line-through; color: red;"&gt;effettuerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;effettuer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; una copia &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; nel dispositivo fisico e dopo &lt;span style="text-decoration: line-through; color: red;"&gt;eseguirà&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eseguir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; per verificarne il corretto funzionamento.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e porta &lt;span style="text-decoration: line-through; color: red;"&gt;l’estensione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;estensione&lt;/span&gt; .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, &lt;span style="text-decoration: line-through; color: red;"&gt;dipendenze…)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dipendenze&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Creare un CAB &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Installazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Installazione&lt;/span&gt; e distribuzione&lt;span style="text-decoration: line-through; color: red;"&gt;’&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;rsquo;&lt;/span&gt; sotto la voce &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Altri&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Altri&lt;/span&gt; tipi di &lt;span style="text-decoration: line-through; color: red;"&gt;progetto’&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;progetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;.&lt;/span&gt; Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Progetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Progetto&lt;/span&gt; Cab per Smart &lt;span style="text-decoration: line-through; color: red;"&gt;Device’&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Device&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi &lt;span style="text-decoration: line-through; color: red;"&gt;comparirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comparir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; la seguente schermata, in cui &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="631" height="375" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="375" width="631" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[15].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si &lt;span style="text-decoration: line-through; color: red;"&gt;aprirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aprir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; un &lt;span style="text-decoration: line-through; color: red;"&gt;menù&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;men&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="329" height="129" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="129" width="329" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[16].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si &lt;span style="text-decoration: line-through; color: red;"&gt;aprirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aprir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; la seguente schermata:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="322" height="371" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="371" width="322" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[17].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove &lt;span style="text-decoration: line-through; color: red;"&gt;occorrerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;occorrer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere &lt;span style="text-decoration: line-through; color: red;"&gt;l’output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;output&lt;/span&gt; della nostra applicazione al pacchetto di installazione. Oltre &lt;span style="text-decoration: line-through; color: red;"&gt;all’output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;output&lt;/span&gt; primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai &lt;span style="text-decoration: line-through; color: red;"&gt;menù&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;men&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; di avvio. La &lt;span style="text-decoration: line-through; color: red;"&gt;modalità&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; resta sempre la stessa (ovvero Aggiungi &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;…&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;).&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Fatto questo, &lt;span style="text-decoration: line-through; color: red;"&gt;occorrerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;occorrer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; compilare la soluzione e nella cartella relativa alla stessa, &lt;span style="text-decoration: line-through; color: red;"&gt;sarà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), &lt;span style="text-decoration: line-through; color: red;"&gt;sarà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; presente una sottocartella che &lt;span style="text-decoration: line-through; color: red;"&gt;conterrà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;conterr&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/1.aspx</link><pubDate>Tue, 05 Jan 2010 23:29:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:56</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 1 posted to Articoli by Liccardi Antonio on 06/01/2010 00:29:50&lt;br /&gt;
&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;

&lt;p&gt;[WEBCAST]&lt;/p&gt;

&lt;p&gt;L’intento di questo articolo è quello di approfondire ciò che si è detto nel webcast.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Gli strumenti&lt;/h3&gt;

&lt;p&gt;Ciò che ci occorre è una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l’Active Sync o maggiore. &lt;/p&gt;

&lt;p&gt;L’installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;

&lt;p&gt;Non si può fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms…).&lt;/p&gt;

&lt;p&gt;Mi pare giusto a questo punto lasciare un pò di link:&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://msdn.microsoft.com/it-it/vstudio/default.aspx" target="_blank"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en" target="_blank"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en" target="_blank"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it" target="_blank"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it" target="_blank"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;La prima applicazione&lt;/h3&gt;

&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio è davvero semplice. Una volta aperto l’IDE basta fare click su Nuovo –&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="454" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell’IDE) la seguente schermata: &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="396" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="244" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c’è il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l’entry-point principale dell’applicazione. Aprendo il file notiamo del codice che consente di far partire l’applicazione:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="488" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell’unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell’applicazione. In tale form abbiamo la possibilità di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;

&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di “reference” alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l’AssemblyInfo.cs, che serve per definire informazioni riguardante l’assembly generato dall’applicazione.&lt;/p&gt;

&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Testing e debugging dell’applicazione&lt;/h3&gt;

&lt;p&gt;Testare la propria applicazione per dispositivi mobile è come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l’ambiente di esecuzione. Unica differenza è però la scelta della piattaforma di destinazione. Uno sviluppatore può scegliere la tipologia di dispositivo in cui l’applicazione verrà deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore può scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l’applicazione direttamente sul dispositivo fisico. In quest’ultimo caso, Visual Studio effettuerà una copia dell’applicazione nel dispositivo fisico e dopo eseguirà l’applicazione stessa.&lt;/p&gt;

&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell’applicazione per verificarne il corretto funzionamento.&amp;#160; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Packaging e deploying dell’applicazione&lt;/h3&gt;

&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si può procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e porta l’estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze…).&lt;/p&gt;

&lt;p&gt;Creare un CAB è semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione ‘Installazione e distribuzione’ sotto la voce ‘Altri tipi di progetto’. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare ‘Progetto Cab per Smart Device’.&lt;/p&gt;

&lt;p&gt;Una volta aggiunto il progetto, vi comparirà la seguente schermata, in cui è necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="631" height="375" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprirà un menù contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi –&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="329" height="129" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Vi si aprirà la seguente schermata:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="322" height="371" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;dove occorrerà selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l’output della nostra applicazione al pacchetto di installazione. Oltre all’output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai menù di avvio. La modalità resta sempre la stessa (ovvero Aggiungi –&amp;gt; …). &lt;/p&gt;

&lt;p&gt;Fatto questo, occorrerà compilare la soluzione e nella cartella relativa alla stessa, sarà presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sarà presente una sottocartella che conterrà 3 files:&lt;/p&gt;

&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;

&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l’applicazione);&lt;/p&gt;

&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;

&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, è anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;

&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 2</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-2/revision/0.aspx</link><pubDate>Sun, 13 Dec 2009 22:16:10 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:21</guid><dc:creator>Alessandro Forte</dc:creator><description>Current revision posted to Articoli by Alessandro Forte on 13/12/2009 23:16:10&lt;br /&gt;
&lt;h2&gt;Progetto GeRi - Parte 2&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Architettura&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Progetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;GeRi&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Il secondo articolo di questa miniserie sullo sviluppo di un applicativo 
&amp;ldquo;enterprise&amp;rdquo; verter&amp;agrave; sulla descrizione del problema da risolvere.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Problem &amp;ndash; Il Problema &lt;br /&gt;&lt;/strong&gt;GeRi &amp;egrave; una piattaforma 
software che nasce con lo scopo di gestire tutte le attivit&amp;agrave;, dirette e 
indirette, connesse ad una centro assistenza. &lt;br /&gt;In generale possiamo dire che 
il punto focale e primario di un centro assistenza (e di molte altre attivit&amp;agrave;, 
come in seguito approfondiremo), verte sul concetto di 
&lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;Possiamo sicuramente definire una riparazione 
come un &lt;span&gt;processo&lt;/span&gt;. &lt;br /&gt;In quanto 
tale essa &amp;egrave; caratterizzata da pi&amp;ugrave; &lt;span&gt;fasi&lt;/span&gt;, e da &lt;span&gt;diversi attori&lt;/span&gt; che prendono parte al 
processo. Addentriamoci quindi nel merito della descrizione delle fasi e degli 
attori che costituiscono il processo di riparazione.&lt;/p&gt;
&lt;p&gt;La prima fase del &lt;em&gt;nostro&lt;/em&gt; processo di riparazione &amp;egrave; denominata : 
&lt;strong&gt;Ingresso&lt;/strong&gt;. &lt;br /&gt;In questa fase un &lt;strong&gt;Utente&lt;/strong&gt;, 
possessore dell&amp;rsquo;oggetto da riparare, consegna il suddetto presso il centro di 
riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di ingresso, l&amp;rsquo;&lt;strong&gt;Operatore&lt;/strong&gt; 
deputato all&amp;rsquo;ingresso degli oggetti da riparare, prende in consegna l&amp;rsquo;oggetto da 
riparare compilando un&amp;rsquo;apposita &lt;span&gt;Scheda 
di Ingresso&lt;/span&gt;. &lt;br /&gt;Tale Scheda prevede l&amp;rsquo;inserimento di diverse 
informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anagrafica cliente (Inserimento o recupero di un&amp;rsquo;anagrafica gi&amp;agrave; esistente) 
&lt;/li&gt;
&lt;li&gt;Data di ingresso dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Dati di acquisto dell&amp;rsquo;oggetto nel caso in cui l&amp;rsquo;oggetto fosse in garanzia 
&lt;br /&gt;(incluse Tipo Documento Acquisto, Numero, Data) 
&lt;/li&gt;
&lt;li&gt;Descrizione caratteristiche dell&amp;rsquo;oggetto &lt;br /&gt;(incluse Tipologia, Marca, 
Modello, Numero Serie Primario e Secondario) 
&lt;/li&gt;
&lt;li&gt;Descrizione degli eventuali accessori consegnati con l&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione dello stato generale dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione preliminare del malfunzionamento 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali non conformit&amp;agrave; 
&lt;/li&gt;
&lt;li&gt;Locazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Eventuale acquisizione di un immagine dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Definizione dell&amp;rsquo;eventuale &amp;ldquo;muletto&amp;rdquo; e/o apparecchio di cortesia consegnato 
al cliente &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Codice riparazione (nella duplice modalit&amp;agrave; 
Testo/BarCode)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Operatore assegnato alla riparazione 
&lt;br /&gt;(L&amp;rsquo;assegnazione avviene per associazione diretta o tramite un apposito 
algoritmo)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Clausole contrattuali/legali legate alla 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di ingresso si conclude con la stampa 
della Scheda di Ingresso da consegnare al cliente come ricevuta. &lt;br /&gt;Tale 
ricevuta dovr&amp;agrave; successivamente essere presentata dall&amp;#39;utente per il ritiro 
dell&amp;#39;oggetto.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;La seconda fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;In 
questa fase un &lt;strong&gt;Tecnico&lt;/strong&gt;, figura deputata alla riparazione 
dell&amp;rsquo;oggetto da riparare, prende in consegna l&amp;rsquo;oggetto (con la relativa scheda 
di ingresso) e comincia l&amp;rsquo;analisi della riparazione da effettuare. 
&lt;br /&gt;Nell&amp;rsquo;operazione di riparazione, il Tecnico deputato alla riparazione 
dell&amp;rsquo;oggetto da riparare, esegue le necessarie operazioni di analisi e 
riparazioni sull&amp;rsquo;oggetto e al termine dell&amp;rsquo;intervento compila un&amp;rsquo;apposita &lt;span&gt;Scheda di Intervento&lt;/span&gt;. &lt;br /&gt;Tale Scheda 
prevede l&amp;rsquo;inserimento di diverse informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Descrizione della riparazione 
&lt;/li&gt;
&lt;li&gt;Definizione dei costi della riparazione &lt;br /&gt;(inclusi Costo Sostenuto [ricami 
+ manodopera], Costo Riparazione) 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali committenti e/o centri esterni di riparazione 
&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riparazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Notifica a mezzo SMS dell&amp;#39;avvenuta 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di riparazione pu&amp;ograve; &amp;ldquo;momentaneamente&amp;rdquo; 
interrompersi in virt&amp;ugrave; delle seguenti situazioni :&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span&gt;
&lt;ol&gt;
&lt;li&gt;Attesa di ricambi 
&lt;/li&gt;
&lt;li&gt;Presentazione di un Preventivo, previa riparazione dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;La fase di riparazione si conclude con la redazione, da parte del Tecnico, 
della Scheda di Intervento che descrive l&amp;rsquo;elenco delle operazioni effettuate. 
&lt;br /&gt;Idealmente tale documento dovrebbe essere storato all&amp;#39;interno di un DMS - 
Document Management System, o &amp;quot;allegato&amp;quot; alla riparazione stessa. Tale 
funzionalit&amp;agrave; sar&amp;agrave; oggetto di discussione nelle future 
implementazioni.&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;La terza ed ultima fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riconsegna&lt;/strong&gt;. &lt;br /&gt;In 
questa fase l&amp;#39;Utente, proprietario dell&amp;rsquo;oggetto da riparare, passa a ritirare il 
suddetto presso il centro di riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di riconsegna, 
l&amp;rsquo;Operatore deputato alla riconsegna degli oggetti da riparare, restituisce 
l&amp;rsquo;oggetto riparato stampando e consegnando al cliente l&amp;rsquo;apposita &lt;span&gt;Scheda di Ingresso&lt;/span&gt;.&amp;nbsp; &lt;br /&gt;Tale Scheda 
non prevede l&amp;rsquo;inserimento di alcuna informazione ma&lt;/span&gt;&lt;span&gt; contempla la generazione da parte del sistema delle 
seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riconsegna dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;La fase di 
riconsegna si conclude con la stampa della Scheda di Riconsegna da consegnare al 
cliente come ricevuta.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Queste operazioni concludono quello che abbiamo definito come processo di 
riparazione. &lt;br /&gt;Risulta chiaro dall&amp;#39;analisi, che connesse direttamente al 
processo di riparazione, ci sono tutta una serie di informazioni secondarie&amp;nbsp; non 
di minore importanza. &lt;br /&gt;In particolare il nostro sistema dovr&amp;agrave; contemplare la 
presenza di :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Anagrafica Clienti, Fornitori, Centri Esterni di Assistenza, Committenti 
&lt;/li&gt;
&lt;li&gt;Tabelle, per l&amp;#39;inserimento rapido delle informazioni 
&lt;/li&gt;
&lt;li&gt;Aggancio a sistemi terzi per la notifica a mezzo SMS dello stato delle 
riparazioni &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ritengo concluso il secondo articolo della serie, che &amp;egrave; servito 
esclusivamente come descrizione del problema. &lt;br /&gt;Scopo del prossimo articolo 
sar&amp;agrave; quello di &amp;quot;&lt;span style="text-decoration:underline;"&gt;avanzare un proposta di architettura&lt;/span&gt;&amp;quot;. &lt;br /&gt;Non mi resta 
quindi che finire con il classico : &lt;br /&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt; See u in the next 
episode &lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt; 
&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Fonte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt; 
&lt;br /&gt;&lt;br /&gt;Alessandro Forte -&amp;nbsp;&lt;a href="http://www.alessandroforte.it/"&gt;http://www.alessandroforte.it/&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 2</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-2/revision/2.aspx</link><pubDate>Sun, 13 Dec 2009 19:55:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:55</guid><dc:creator>Alessandro Forte</dc:creator><description>Revision 2 posted to Articoli by Alessandro Forte on 13/12/2009 20:55:50&lt;br /&gt;
&lt;h2&gt;Progetto GeRi - Parte 2&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Architettura&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Progetto&lt;/span&gt; GeRi&lt;/div&gt;

&lt;p&gt;
&lt;p&gt;Il secondo articolo di questa miniserie sullo sviluppo di un applicativo 
&amp;ldquo;enterprise&amp;rdquo; verter&amp;agrave; sulla descrizione del problema da risolvere.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Problem &amp;ndash; Il Problema &lt;br /&gt;&lt;/strong&gt;GeRi &amp;egrave; una piattaforma 
software che nasce con lo scopo di gestire tutte le attivit&amp;agrave;, dirette e 
indirette, connesse ad una centro assistenza. &lt;br /&gt;In generale possiamo dire che 
il punto focale e primario di un centro assistenza (e di molte altre attivit&amp;agrave;, 
come in seguito approfondiremo), verte sul concetto di 
&lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;Possiamo sicuramente definire una riparazione 
come un &lt;span&gt;processo&lt;/span&gt;. &lt;br /&gt;In quanto 
tale essa &amp;egrave; caratterizzata da pi&amp;ugrave; &lt;span&gt;fasi&lt;/span&gt;, e da &lt;span&gt;diversi attori&lt;/span&gt; che prendono parte al 
processo. Addentriamoci quindi nel merito della descrizione delle fasi e degli 
attori che costituiscono il processo di riparazione.&lt;/p&gt;
&lt;p&gt;La prima fase del &lt;em&gt;nostro&lt;/em&gt; processo di riparazione &amp;egrave; denominata : 
&lt;strong&gt;Ingresso&lt;/strong&gt;. &lt;br /&gt;In questa fase un &lt;strong&gt;Utente&lt;/strong&gt;, 
possessore dell&amp;rsquo;oggetto da riparare, consegna il suddetto presso il centro di 
riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di ingresso, l&amp;rsquo;&lt;strong&gt;Operatore&lt;/strong&gt; 
deputato all&amp;rsquo;ingresso degli oggetti da riparare, prende in consegna l&amp;rsquo;oggetto da 
riparare compilando un&amp;rsquo;apposita &lt;span&gt;Scheda 
di Ingresso&lt;/span&gt;. &lt;br /&gt;Tale Scheda prevede l&amp;rsquo;inserimento di diverse 
informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anagrafica cliente (Inserimento o recupero di un&amp;rsquo;anagrafica gi&amp;agrave; esistente) 
&lt;/li&gt;
&lt;li&gt;Data di ingresso dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Dati di acquisto dell&amp;rsquo;oggetto nel caso in cui l&amp;rsquo;oggetto fosse in garanzia 
&lt;br /&gt;(incluse Tipo Documento Acquisto, Numero, Data) 
&lt;/li&gt;
&lt;li&gt;Descrizione caratteristiche dell&amp;rsquo;oggetto &lt;br /&gt;(incluse Tipologia, Marca, 
Modello, Numero Serie Primario e Secondario) 
&lt;/li&gt;
&lt;li&gt;Descrizione degli eventuali accessori consegnati con l&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione dello stato generale dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione preliminare del malfunzionamento 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali non conformit&amp;agrave; 
&lt;/li&gt;
&lt;li&gt;Locazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Eventuale acquisizione di un immagine dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Definizione dell&amp;rsquo;eventuale &amp;ldquo;muletto&amp;rdquo; e/o apparecchio di cortesia consegnato 
al cliente &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Codice riparazione (nella duplice modalit&amp;agrave; 
Testo/BarCode)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Operatore assegnato alla riparazione 
&lt;br /&gt;(L&amp;rsquo;assegnazione avviene per associazione diretta o tramite un apposito 
algoritmo)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Clausole contrattuali/legali legate alla 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di ingresso si conclude con la stampa 
della Scheda di Ingresso da consegnare al cliente come ricevuta. &lt;br /&gt;Tale 
ricevuta dovr&amp;agrave; successivamente essere presentata dall&amp;#39;utente per il ritiro 
dell&amp;#39;oggetto.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;La seconda fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;In 
questa fase un &lt;strong&gt;Tecnico&lt;/strong&gt;, figura deputata alla riparazione 
dell&amp;rsquo;oggetto da riparare, prende in consegna l&amp;rsquo;oggetto (con la relativa scheda 
di ingresso) e comincia l&amp;rsquo;analisi della riparazione da effettuare. 
&lt;br /&gt;Nell&amp;rsquo;operazione di riparazione, il Tecnico deputato alla riparazione 
dell&amp;rsquo;oggetto da riparare, esegue le necessarie operazioni di analisi e 
riparazioni sull&amp;rsquo;oggetto e al termine dell&amp;rsquo;intervento compila un&amp;rsquo;apposita &lt;span&gt;Scheda di Intervento&lt;/span&gt;. &lt;br /&gt;Tale Scheda 
prevede l&amp;rsquo;inserimento di diverse informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Descrizione della riparazione 
&lt;/li&gt;
&lt;li&gt;Definizione dei costi della riparazione &lt;br /&gt;(inclusi Costo Sostenuto [ricami 
+ manodopera], Costo Riparazione) 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali committenti e/o centri esterni di riparazione 
&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riparazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Notifica a mezzo SMS dell&amp;#39;avvenuta 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di riparazione pu&amp;ograve; &amp;ldquo;momentaneamente&amp;rdquo; 
interrompersi in virt&amp;ugrave; delle seguenti situazioni :&lt;/span&gt;&lt;/p&gt;
&lt;span&gt;
&lt;ol&gt;
&lt;li&gt;Attesa di ricambi 
&lt;/li&gt;
&lt;li&gt;Presentazione di un Preventivo, previa riparazione dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;La fase di riparazione si conclude con la redazione, da parte del Tecnico, 
della Scheda di Intervento che descrive l&amp;rsquo;elenco delle operazioni effettuate. 
&lt;br /&gt;Idealmente tale documento dovrebbe essere storato all&amp;#39;interno di un DMS - 
Document Management System, o &amp;quot;allegato&amp;quot; alla riparazione stessa. Tale 
funzionalit&amp;agrave; sar&amp;agrave; oggetto di discussione nelle future 
implementazioni.&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span&gt;La terza ed ultima fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riconsegna&lt;/strong&gt;. &lt;br /&gt;In 
questa fase l&amp;#39;Utente, proprietario dell&amp;rsquo;oggetto da riparare, passa a ritirare il 
suddetto presso il centro di riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di riconsegna, 
l&amp;rsquo;Operatore deputato alla riconsegna degli oggetti da riparare, restituisce 
l&amp;rsquo;oggetto riparato stampando e consegnando al cliente l&amp;rsquo;apposita &lt;span&gt;Scheda di Ingresso&lt;/span&gt;.&amp;nbsp; &lt;br /&gt;Tale Scheda 
non prevede l&amp;rsquo;inserimento di alcuna informazione ma&lt;/span&gt;&lt;span&gt; contempla la generazione da parte del sistema delle 
seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riconsegna dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;La fase di 
riconsegna si conclude con la stampa della Scheda di Riconsegna da consegnare al 
cliente come ricevuta.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Queste operazioni concludono quello che abbiamo definito come processo di 
riparazione. &lt;br /&gt;Risulta chiaro dall&amp;#39;analisi, che connesse direttamente al 
processo di riparazione, ci sono tutta una serie di informazioni secondarie&amp;nbsp; non 
di minore importanza. &lt;br /&gt;In particolare il nostro sistema dovr&amp;agrave; contemplare la 
presenza di :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Anagrafica Clienti, Fornitori, Centri Esterni di Assistenza, Committenti 
&lt;/li&gt;
&lt;li&gt;Tabelle, per l&amp;#39;inserimento rapido delle informazioni 
&lt;/li&gt;
&lt;li&gt;Aggancio a sistemi terzi per la notifica a mezzo SMS dello stato delle 
riparazioni &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ritengo concluso il secondo articolo della serie, che &amp;egrave; servito 
esclusivamente come descrizione del problema. &lt;br /&gt;Scopo del prossimo articolo 
sar&amp;agrave; quello di &amp;quot;&lt;span style="text-decoration:underline;"&gt;avanzare un proposta di architettura&lt;/span&gt;&amp;quot;. &lt;br /&gt;Non mi resta 
quindi che finire con il classico : &lt;br /&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt; See u in the next 
episode &lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt; 
&lt;br /&gt;&lt;br /&gt;(Fonte : Alessandro Forte - &lt;a href="http://www.alessandroforte.it/"&gt;http://www.alessandroforte.it/&lt;/a&gt;)&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 2</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-2/revision/1.aspx</link><pubDate>Sun, 13 Dec 2009 19:55:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:53</guid><dc:creator>Alessandro Forte</dc:creator><description>Revision 1 posted to Articoli by Alessandro Forte on 13/12/2009 20:55:50&lt;br /&gt;
&lt;p&gt;
&lt;p&gt;Il secondo articolo di questa miniserie sullo sviluppo di un applicativo 
&amp;ldquo;enterprise&amp;rdquo; verter&amp;agrave; sulla descrizione del problema da risolvere.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Problem &amp;ndash; Il Problema &lt;br /&gt;&lt;/strong&gt;GeRi &amp;egrave; una piattaforma 
software che nasce con lo scopo di gestire tutte le attivit&amp;agrave;, dirette e 
indirette, connesse ad una centro assistenza. &lt;br /&gt;In generale possiamo dire che 
il punto focale e primario di un centro assistenza (e di molte altre attivit&amp;agrave;, 
come in seguito approfondiremo), verte sul concetto di 
&lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;Possiamo sicuramente definire una riparazione 
come un &lt;span&gt;processo&lt;/span&gt;. &lt;br /&gt;In quanto 
tale essa &amp;egrave; caratterizzata da pi&amp;ugrave; &lt;span&gt;fasi&lt;/span&gt;, e da &lt;span&gt;diversi attori&lt;/span&gt; che prendono parte al 
processo. Addentriamoci quindi nel merito della descrizione delle fasi e degli 
attori che costituiscono il processo di riparazione.&lt;/p&gt;
&lt;p&gt;La prima fase del &lt;em&gt;nostro&lt;/em&gt; processo di riparazione &amp;egrave; denominata : 
&lt;strong&gt;Ingresso&lt;/strong&gt;. &lt;br /&gt;In questa fase un &lt;strong&gt;Utente&lt;/strong&gt;, 
possessore dell&amp;rsquo;oggetto da riparare, consegna il suddetto presso il centro di 
riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di ingresso, l&amp;rsquo;&lt;strong&gt;Operatore&lt;/strong&gt; 
deputato all&amp;rsquo;ingresso degli oggetti da riparare, prende in consegna l&amp;rsquo;oggetto da 
riparare compilando un&amp;rsquo;apposita &lt;span&gt;Scheda 
di Ingresso&lt;/span&gt;. &lt;br /&gt;Tale Scheda prevede l&amp;rsquo;inserimento di diverse 
informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anagrafica cliente (Inserimento o recupero di un&amp;rsquo;anagrafica gi&amp;agrave; esistente) 
&lt;/li&gt;
&lt;li&gt;Data di ingresso dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Dati di acquisto dell&amp;rsquo;oggetto nel caso in cui l&amp;rsquo;oggetto fosse in garanzia 
&lt;br /&gt;(incluse Tipo Documento Acquisto, Numero, Data) 
&lt;/li&gt;
&lt;li&gt;Descrizione caratteristiche dell&amp;rsquo;oggetto &lt;br /&gt;(incluse Tipologia, Marca, 
Modello, Numero Serie Primario e Secondario) 
&lt;/li&gt;
&lt;li&gt;Descrizione degli eventuali accessori consegnati con l&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione dello stato generale dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Descrizione preliminare del malfunzionamento 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali non conformit&amp;agrave; 
&lt;/li&gt;
&lt;li&gt;Locazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Eventuale acquisizione di un immagine dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;Definizione dell&amp;rsquo;eventuale &amp;ldquo;muletto&amp;rdquo; e/o apparecchio di cortesia consegnato 
al cliente &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Codice riparazione (nella duplice modalit&amp;agrave; 
Testo/BarCode)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Operatore assegnato alla riparazione 
&lt;br /&gt;(L&amp;rsquo;assegnazione avviene per associazione diretta o tramite un apposito 
algoritmo)&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Clausole contrattuali/legali legate alla 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di ingresso si conclude con la stampa 
della Scheda di Ingresso da consegnare al cliente come ricevuta. &lt;br /&gt;Tale 
ricevuta dovr&amp;agrave; successivamente essere presentata dall&amp;#39;utente per il ritiro 
dell&amp;#39;oggetto.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;La seconda fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riparazione&lt;/strong&gt;. &lt;br /&gt;In 
questa fase un &lt;strong&gt;Tecnico&lt;/strong&gt;, figura deputata alla riparazione 
dell&amp;rsquo;oggetto da riparare, prende in consegna l&amp;rsquo;oggetto (con la relativa scheda 
di ingresso) e comincia l&amp;rsquo;analisi della riparazione da effettuare. 
&lt;br /&gt;Nell&amp;rsquo;operazione di riparazione, il Tecnico deputato alla riparazione 
dell&amp;rsquo;oggetto da riparare, esegue le necessarie operazioni di analisi e 
riparazioni sull&amp;rsquo;oggetto e al termine dell&amp;rsquo;intervento compila un&amp;rsquo;apposita &lt;span&gt;Scheda di Intervento&lt;/span&gt;. &lt;br /&gt;Tale Scheda 
prevede l&amp;rsquo;inserimento di diverse informazioni, di seguito elencate :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Descrizione della riparazione 
&lt;/li&gt;
&lt;li&gt;Definizione dei costi della riparazione &lt;br /&gt;(inclusi Costo Sostenuto [ricami 
+ manodopera], Costo Riparazione) 
&lt;/li&gt;
&lt;li&gt;Descrizione di eventuali committenti e/o centri esterni di riparazione 
&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;mentre contempla la generazione da parte del 
sistema delle seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riparazione dell&amp;rsquo;oggetto 
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Notifica a mezzo SMS dell&amp;#39;avvenuta 
riparazione&lt;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;La fase di riparazione pu&amp;ograve; &amp;ldquo;momentaneamente&amp;rdquo; 
interrompersi in virt&amp;ugrave; delle seguenti situazioni :&lt;/span&gt;&lt;/p&gt;
&lt;span&gt;
&lt;ol&gt;
&lt;li&gt;Attesa di ricambi 
&lt;/li&gt;
&lt;li&gt;Presentazione di un Preventivo, previa riparazione dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;La fase di riparazione si conclude con la redazione, da parte del Tecnico, 
della Scheda di Intervento che descrive l&amp;rsquo;elenco delle operazioni effettuate. 
&lt;br /&gt;Idealmente tale documento dovrebbe essere storato all&amp;#39;interno di un DMS - 
Document Management System, o &amp;quot;allegato&amp;quot; alla riparazione stessa. Tale 
funzionalit&amp;agrave; sar&amp;agrave; oggetto di discussione nelle future 
implementazioni.&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&lt;span&gt;La terza ed ultima fase del &lt;em&gt;nostro&lt;/em&gt; 
processo di riparazione &amp;egrave; denominata : &lt;strong&gt;Riconsegna&lt;/strong&gt;. &lt;br /&gt;In 
questa fase l&amp;#39;Utente, proprietario dell&amp;rsquo;oggetto da riparare, passa a ritirare il 
suddetto presso il centro di riparazione. &lt;br /&gt;Nell&amp;rsquo;operazione di riconsegna, 
l&amp;rsquo;Operatore deputato alla riconsegna degli oggetti da riparare, restituisce 
l&amp;rsquo;oggetto riparato stampando e consegnando al cliente l&amp;rsquo;apposita &lt;span&gt;Scheda di Ingresso&lt;/span&gt;.&amp;nbsp; &lt;br /&gt;Tale Scheda 
non prevede l&amp;rsquo;inserimento di alcuna informazione ma&lt;/span&gt;&lt;span&gt; contempla la generazione da parte del sistema delle 
seguenti informazioni : &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;Cambiamento dello stato della 
riparazione&lt;/span&gt; 
&lt;/li&gt;
&lt;li&gt;Data di riconsegna dell&amp;rsquo;oggetto &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;La fase di 
riconsegna si conclude con la stampa della Scheda di Riconsegna da consegnare al 
cliente come ricevuta.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Queste operazioni concludono quello che abbiamo definito come processo di 
riparazione. &lt;br /&gt;Risulta chiaro dall&amp;#39;analisi, che connesse direttamente al 
processo di riparazione, ci sono tutta una serie di informazioni secondarie&amp;nbsp; non 
di minore importanza. &lt;br /&gt;In particolare il nostro sistema dovr&amp;agrave; contemplare la 
presenza di :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Anagrafica Clienti, Fornitori, Centri Esterni di Assistenza, Committenti 
&lt;/li&gt;
&lt;li&gt;Tabelle, per l&amp;#39;inserimento rapido delle informazioni 
&lt;/li&gt;
&lt;li&gt;Aggancio a sistemi terzi per la notifica a mezzo SMS dello stato delle 
riparazioni &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ritengo concluso il secondo articolo della serie, che &amp;egrave; servito 
esclusivamente come descrizione del problema. &lt;br /&gt;Scopo del prossimo articolo 
sar&amp;agrave; quello di &amp;quot;&lt;span style="text-decoration:underline;"&gt;avanzare un proposta di architettura&lt;/span&gt;&amp;quot;. &lt;br /&gt;Non mi resta 
quindi che finire con il classico : &lt;br /&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt; See u in the next 
episode &lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt; 
&lt;br /&gt;&lt;br /&gt;(Fonte : Alessandro Forte - &lt;a href="http://www.alessandroforte.it/"&gt;http://www.alessandroforte.it/&lt;/a&gt;)&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 1</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-1/revision/0.aspx</link><pubDate>Sun, 13 Dec 2009 22:15:59 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:20</guid><dc:creator>Alessandro Forte</dc:creator><description>Current revision posted to Articoli by Alessandro Forte on 13/12/2009 23:15:59&lt;br /&gt;
&lt;h2&gt;Progetto GeRi - Parte 1&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Architettura&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Progetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;GeRi&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Dopo tantissimo tempo torno a scrivere un articolo e lo faccio animato dalle migliori intenzioni.&lt;/p&gt;
&lt;p&gt;
In questa serie di articoli, mi pongo un duplice obiettivo.
Il &lt;em&gt;&lt;strong&gt;primo&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;&amp;egrave; quello di portare a termine un lavoro che mi hanno commissionato.
Il &lt;em&gt;&lt;strong&gt;secondo &lt;/strong&gt;&lt;/em&gt;&amp;egrave; quello, ben pi&amp;ugrave; sperimentale e interessante, di portare a compimento il lavoro che mi hanno commissionato tramite il vostro aiuto, rendendo poi libero il codice sorgente dell&amp;#39;applicativo.
Ho pensato di sviluppare il primo open source software in Co-Produzione con i miei utenti.
&lt;br /&gt;E ho deciso di sfruttare sia il &lt;a href="http://www.alessandroforte.it" target="_blank"&gt;mio blog personale&lt;/a&gt; che quello dello &lt;a href="http://www.dotnetcampania.org"&gt;UG &lt;/a&gt;a cui appartengo per diffondere e rendere noto il mio progetto.
Per Co-Produzione (o per meglio dire Co-Design/Co-Production/Co-Brand) intendo la capacit&amp;agrave;, partendo da miei suggerimenti, di raffinare i concetti basandomi totalmente sui vostri suggerimenti e vagliandoli uno ad uno.
Ma passiamo subito alla fase operativa e cerchiamo di capire :
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cosa dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Come lo dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Chi lo deve realizzare?&lt;/li&gt;
&lt;li&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Rispondiamo per punti alle varie domande, partendo in ordine inverso.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme
&lt;span style="font-weight:normal;"&gt;Il concetto di Co-Design, Co-Produzione, ecc... mi &amp;egrave; venuto leggendo una nota rivista. Viene attualmente utilizzato in moltissimi settori e anche in informatica.
Ovviamente nel settore informatico l&amp;#39;Open Source ne rappresenta un degno esempio .&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chi lo deve realizzare&lt;/strong&gt;
Io sar&amp;ograve; il primo sviluppatore &amp;quot;ufficiale&amp;quot; (diciamo che quasi non ve l&amp;#39;aspettavate giusto?).
A me si aggiungeranno tutti colori i quali saranno ritenuti validi al corretto svolgimento delle attivit&amp;agrave;.
Per validit&amp;agrave; non intendo solo il punto di vista strettamente tecnico, ma anche e sopratutto coloro i quali mostreranno seriet&amp;agrave; e dedizione.
Spero di avervi convinto almeno un p&amp;ograve;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Come lo dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Ecco qui viene il bello della faccenda. Poich&amp;egrave; io questo sistema lo devo realizzare e commercializzare, proporr&amp;ograve; step by step la mia visione del lavoro. Abbraccer&amp;ograve; tutti i punti di vista. Spazier&amp;ograve; dall&amp;#39;architettura, all&amp;#39;organizzazione del codice, alla schedulazione delle milestones, ecc...
&lt;/span&gt;&lt;span style="font-weight:normal;"&gt;Ma il punto di forza del progetto, come gi&amp;agrave; ripetuto diverse volte, sar&amp;agrave; la vostra visione e il vostro modo di interagire con il sottoscritto apponendo critiche e suggerimenti alle soluzioni che di volta in volta proporr&amp;ograve;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;Cosa dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Il progetto da realizzare &amp;egrave; il GeRi acronimo di &lt;/span&gt;Ge&lt;span style="font-weight:normal;"&gt;stione &lt;/span&gt;Ri&lt;span style="font-weight:normal;"&gt;parazioni.
Il software in questione dovr&amp;agrave; risolvere tutti i problemi (e vi assicuro che ve ne sono tanti) legati alla gestione delle riparazioni. Inoltre il termine Riparazione deve assolvere a qualunque significato gli sia dato all&amp;#39;interno di contesti diversi quali possa essere un centro di assistenza telefonica piuttuosto che un negozio di computer.
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/strong&gt;
Ritengo concluso il mio primo articolo della serie, che &amp;egrave; servito esclusivamente come manifesto.
Scopo del prossimo articolo sar&amp;agrave; quello di stilere un programma cominciando a definire i vari ToDo.
Tutto questo in preparazione dei primi articoli veri e proprii che verteranno sull&amp;#39;acquisizione dei requisiti, sull&amp;#39;architettura sul sistema, e su come realizzare il sistema in esame.
Non mi resta quindi che finire con il classico :&lt;/p&gt;
&lt;p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span style="background: SpringGreen;"&gt;&lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt; See u in the next episode &lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Fonte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Alessandro Forte -&amp;nbsp;&lt;a href="http://www.alessandroforte.it/"&gt;http://www.alessandroforte.it/&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 1</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-1/revision/2.aspx</link><pubDate>Sun, 13 Dec 2009 19:56:23 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:54</guid><dc:creator>Alessandro Forte</dc:creator><description>Revision 2 posted to Articoli by Alessandro Forte on 13/12/2009 20:56:23&lt;br /&gt;
&lt;h2&gt;Progetto GeRi - Parte 1&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Architettura, &lt;span style="text-decoration: line-through; color: red;"&gt;asp.net&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tutorials&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;certificazioni&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Progetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;GeRi&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Dopo tantissimo tempo torno a scrivere un articolo e lo faccio animato dalle migliori intenzioni.&lt;/p&gt;
&lt;p&gt;
In questa serie di articoli, mi pongo un duplice obiettivo.
Il &lt;em&gt;&lt;strong&gt;primo&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;&amp;egrave; quello di portare a termine un lavoro che mi hanno commissionato.
Il &lt;em&gt;&lt;strong&gt;secondo &lt;/strong&gt;&lt;/em&gt;&amp;egrave; quello, ben pi&amp;ugrave; sperimentale e interessante, di portare a compimento il lavoro che mi hanno commissionato tramite il vostro aiuto, rendendo poi libero il codice sorgente dell&amp;#39;applicativo.
Ho pensato di sviluppare il primo open source software in Co-Produzione con i miei utenti.
&lt;br /&gt;E ho deciso di sfruttare sia il &lt;a target="_blank" href="http://www.alessandroforte.it"&gt;mio blog personale&lt;/a&gt; che quello dello &lt;a href="http://www.dotnetcampania.org"&gt;UG &lt;/a&gt;a cui appartengo per diffondere e rendere noto il mio progetto.
Per Co-Produzione (o per meglio dire Co-Design/Co-Production/Co-Brand) intendo la capacit&amp;agrave;, partendo da miei suggerimenti, di raffinare i concetti basandomi totalmente sui vostri suggerimenti e vagliandoli uno ad uno.
Ma passiamo subito alla fase operativa e cerchiamo di capire :
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cosa dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Come lo dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Chi lo deve realizzare?&lt;/li&gt;
&lt;li&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Rispondiamo per punti alle varie domande, partendo in ordine inverso.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme
&lt;span style="font-weight:normal;"&gt;Il concetto di Co-Design, Co-Produzione, ecc... mi &amp;egrave; venuto leggendo una nota rivista. Viene attualmente utilizzato in moltissimi settori e anche in informatica.
Ovviamente nel settore informatico l&amp;#39;Open Source ne rappresenta un degno esempio .&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chi lo deve realizzare&lt;/strong&gt;
Io sar&amp;ograve; il primo sviluppatore &amp;quot;ufficiale&amp;quot; (diciamo che quasi non ve l&amp;#39;aspettavate giusto?).
A me si aggiungeranno tutti colori i quali saranno ritenuti validi al corretto svolgimento delle attivit&amp;agrave;.
Per validit&amp;agrave; non intendo solo il punto di vista strettamente tecnico, ma anche e sopratutto coloro i quali mostreranno seriet&amp;agrave; e dedizione.
Spero di avervi convinto almeno un p&amp;ograve;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Come lo dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Ecco qui viene il bello della faccenda. Poich&amp;egrave; io questo sistema lo devo realizzare e commercializzare, proporr&amp;ograve; step by step la mia visione del lavoro. Abbraccer&amp;ograve; tutti i punti di vista. Spazier&amp;ograve; dall&amp;#39;architettura, all&amp;#39;organizzazione del codice, alla schedulazione delle milestones, ecc...
&lt;/span&gt;&lt;span style="font-weight:normal;"&gt;Ma il punto di forza del progetto, come gi&amp;agrave; ripetuto diverse volte, sar&amp;agrave; la vostra visione e il vostro modo di interagire con il sottoscritto apponendo critiche e suggerimenti alle soluzioni che di volta in volta proporr&amp;ograve;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;Cosa dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Il progetto da realizzare &amp;egrave; il GeRi acronimo di &lt;/span&gt;Ge&lt;span style="font-weight:normal;"&gt;stione &lt;/span&gt;Ri&lt;span style="font-weight:normal;"&gt;parazioni.
Il software in questione dovr&amp;agrave; risolvere tutti i problemi (e vi assicuro che ve ne sono tanti) legati alla gestione delle riparazioni. Inoltre il termine Riparazione deve assolvere a qualunque significato gli sia dato all&amp;#39;interno di contesti diversi quali possa essere un centro di assistenza telefonica piuttuosto che un negozio di computer.
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/strong&gt;
Ritengo concluso il mio primo articolo della serie, che &amp;egrave; servito esclusivamente come manifesto.
Scopo del prossimo articolo sar&amp;agrave; quello di stilere un programma cominciando a definire i vari ToDo.
Tutto questo in preparazione dei primi articoli veri e proprii che verteranno sull&amp;#39;acquisizione dei requisiti, sull&amp;#39;architettura sul sistema, e su come realizzare il sistema in esame.
Non mi resta quindi che finire con il classico :&lt;/p&gt;
&lt;p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;span style="background: SpringGreen;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt; See u in the next episode &lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img alt="Idea" src="/emoticons/emotion-55.gif" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Fonte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Alessandro&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Forte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt;&amp;nbsp;&lt;a href="http://www.alessandroforte.it/"&gt;&lt;span style="background: SpringGreen;"&gt;http://www.alessandroforte.it&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;/a&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Progetto GeRi - Parte 1</title><link>http://dotnetcampania.org/wikis/articoli/progetto-geri-parte-1/revision/1.aspx</link><pubDate>Tue, 29 Sep 2009 09:27:58 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:52</guid><dc:creator>Alessandro Forte</dc:creator><description>Revision 1 posted to Articoli by Alessandro Forte on 29/09/2009 11:27:58&lt;br /&gt;
&lt;p&gt;Dopo tantissimo tempo torno a scrivere un articolo e lo faccio animato dalle migliori intenzioni.&lt;/p&gt;
&lt;p&gt;
In questa serie di articoli, mi pongo un duplice obiettivo.
Il &lt;em&gt;&lt;strong&gt;primo&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt; &lt;/strong&gt;&amp;egrave; quello di portare a termine un lavoro che mi hanno commissionato.
Il &lt;em&gt;&lt;strong&gt;secondo &lt;/strong&gt;&lt;/em&gt;&amp;egrave; quello, ben pi&amp;ugrave; sperimentale e interessante, di portare a compimento il lavoro che mi hanno commissionato tramite il vostro aiuto, rendendo poi libero il codice sorgente dell&amp;#39;applicativo.
Ho pensato di sviluppare il primo open source software in Co-Produzione con i miei utenti.
&lt;br /&gt;E ho deciso di sfruttare sia il &lt;a href="http://www.alessandroforte.it" target="_blank"&gt;mio blog personale&lt;/a&gt; che quello dello &lt;a href="http://www.dotnetcampania.org"&gt;UG &lt;/a&gt;a cui appartengo per diffondere e rendere noto il mio progetto.
Per Co-Produzione (o per meglio dire Co-Design/Co-Production/Co-Brand) intendo la capacit&amp;agrave;, partendo da miei suggerimenti, di raffinare i concetti basandomi totalmente sui vostri suggerimenti e vagliandoli uno ad uno.
Ma passiamo subito alla fase operativa e cerchiamo di capire :
&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cosa dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Come lo dobbiamo realizzare?&lt;/li&gt;
&lt;li&gt;Chi lo deve realizzare?&lt;/li&gt;
&lt;li&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
Rispondiamo per punti alle varie domande, partendo in ordine inverso.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Perch&amp;egrave; lo dobbiamo realizzare insieme
&lt;span style="font-weight:normal;"&gt;Il concetto di Co-Design, Co-Produzione, ecc... mi &amp;egrave; venuto leggendo una nota rivista. Viene attualmente utilizzato in moltissimi settori e anche in informatica.
Ovviamente nel settore informatico l&amp;#39;Open Source ne rappresenta un degno esempio .&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chi lo deve realizzare&lt;/strong&gt;
Io sar&amp;ograve; il primo sviluppatore &amp;quot;ufficiale&amp;quot; (diciamo che quasi non ve l&amp;#39;aspettavate giusto?).
A me si aggiungeranno tutti colori i quali saranno ritenuti validi al corretto svolgimento delle attivit&amp;agrave;.
Per validit&amp;agrave; non intendo solo il punto di vista strettamente tecnico, ma anche e sopratutto coloro i quali mostreranno seriet&amp;agrave; e dedizione.
Spero di avervi convinto almeno un p&amp;ograve;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Come lo dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Ecco qui viene il bello della faccenda. Poich&amp;egrave; io questo sistema lo devo realizzare e commercializzare, proporr&amp;ograve; step by step la mia visione del lavoro. Abbraccer&amp;ograve; tutti i punti di vista. Spazier&amp;ograve; dall&amp;#39;architettura, all&amp;#39;organizzazione del codice, alla schedulazione delle milestones, ecc...
&lt;/span&gt;&lt;span style="font-weight:normal;"&gt;Ma il punto di forza del progetto, come gi&amp;agrave; ripetuto diverse volte, sar&amp;agrave; la vostra visione e il vostro modo di interagire con il sottoscritto apponendo critiche e suggerimenti alle soluzioni che di volta in volta proporr&amp;ograve;
&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;Cosa dobbiamo realizzare
&lt;span style="font-weight:normal;"&gt;Il progetto da realizzare &amp;egrave; il GeRi acronimo di &lt;/span&gt;Ge&lt;span style="font-weight:normal;"&gt;stione &lt;/span&gt;Ri&lt;span style="font-weight:normal;"&gt;parazioni.
Il software in questione dovr&amp;agrave; risolvere tutti i problemi (e vi assicuro che ve ne sono tanti) legati alla gestione delle riparazioni. Inoltre il termine Riparazione deve assolvere a qualunque significato gli sia dato all&amp;#39;interno di contesti diversi quali possa essere un centro di assistenza telefonica piuttuosto che un negozio di computer.
&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;strong&gt;&lt;span style="font-weight:normal;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;strong&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/strong&gt;
Ritengo concluso il mio primo articolo della serie, che &amp;egrave; servito esclusivamente come manifesto.
Scopo del prossimo articolo sar&amp;agrave; quello di stilere un programma cominciando a definire i vari ToDo.
Tutto questo in preparazione dei primi articoli veri e proprii che verteranno sull&amp;#39;acquisizione dei requisiti, sull&amp;#39;architettura sul sistema, e su come realizzare il sistema in esame.
Non mi resta quindi che finire con il classico :&lt;/p&gt;
&lt;p&gt;
&lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt; See u in the next episode &lt;img src="/emoticons/emotion-55.gif" alt="Idea" /&gt;&lt;/p&gt;</description></item><item><title>Espression Studio: uno sguardo d'insieme</title><link>http://dotnetcampania.org/wikis/articoli/espression-studio-uno-sguardo-d-insieme/revision/0.aspx</link><pubDate>Tue, 22 Sep 2009 12:25:40 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:19</guid><dc:creator>Carmine Alfano</dc:creator><description>Current revision posted to Articoli by Carmine Alfano on 22/09/2009 14:25:40&lt;br /&gt;
&lt;h2&gt;Espression Studio: uno sguardo d&amp;#39;insieme&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Expression&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Studio&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Blend&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Silverlight&lt;/span&gt;&lt;/div&gt;

&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;La&lt;/span&gt; prima incursione da parte di Microsoft nel campo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;della progettazione grafica professionale giunge ormai alla terza &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;edizione, il pacchetto comprende: applicazioni web, progettazione, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;gestione di contenuti multimediali e animazione su linea cronologica.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I programmi pi&amp;ugrave; interessanti della suite sono: &lt;strong&gt;Expression Design&lt;/strong&gt;, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;Expression Web&lt;/strong&gt;, &lt;strong&gt;Expression Blend&lt;/strong&gt;. Tralasciamo quindi per questa volta &lt;strong&gt;Expression Encoder.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION DESIGN&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Design &amp;egrave; un software per la grafica vettoriale orientato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;esclusivamente al web, lavorare in dtp (desktop publishing) risulterebbe &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;impossibile a causa della mancanza del supporto CMYK per le stampe con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;separazioni di colore. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia &amp;egrave; stata studiata andando incontro &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alle esigenze di progettisti e webdesigner che per anni hanno utilizzato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;soltanto Freehand e Illustrator: un esempio eclatante &amp;egrave; quello delle &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;scorciatoie da tastiera del tutto simili ai software sopracitati. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Qualcuno potrebbe obiettare che Design sia la copia sfacciata di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Illustrator, a questo punto vorrei aprire una piccola parentesi: dobbiamo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;considerare il software di casa Adobe dal 1986 sul mercato, come uno &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;standard, infatti anche Macromedia Freehand traeva spunto dal suo (ex) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rivale. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img border="0" src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia nera e grigia &amp;egrave; molto elegante ma lavorando per ore su un &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;progetto potrebbe stancare la vista, possiamo risolvere in parte il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;problema selezionando expression chiaro dal pannello delle opzioni.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img border="0" src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Personalmente ritengo Design un software dalle grandi potenzialit&amp;agrave; ma &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ancora troppo giovane per un confronto diretto con i suoi concorrenti.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION WEB&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;In casa Microsoft si sentiva da troppo tempo la mancanza di un software &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;WYSIWYG professionale per la realizzazione di pagine web, ecco il motivo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per il quale Frontpage dal 2006 ha ceduto il passo ad Expression Web. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;programma permette di lavorare agevolmente con javascript, CSS e tutte le &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologie del web 2.0, offre inoltre il supporto per la codifica ASP.NET, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;elemento non di poca importanza, perch&amp;eacute;, come vedremo pi&amp;ugrave; avanti, la &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologia Microsoft per le applicazioni web, rappresenta il nucleo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziale di Expression Studio. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Anche in questo caso l&amp;rsquo;interfaccia &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;stata studiata per ottimizzare il flusso di lavoro del webdesigner, molto &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;semplice ed intuitiva permette anche di disegnare i DIV direttamente sul &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;piano di lavoro, inoltre, dalla versione 2.0, ha aggiunto il supporto per &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;PHP, file Silverlight e Flash. Includendo un filmato flash, Expression web oltre a creare il codice html c&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;orrispondente, consente di modificare i parametri di visualizzazione e &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alcuni attributi necessari al controllo del filmato. Per silverlight &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;possibile sia modificare le pagine html generate da Expression encoder o &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Blend sia includere un&amp;rsquo;applicazione silverlight direttamente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;all&amp;rsquo;interno della pagina. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Le immagini create con Photoshop e salvate in formato .PSD hanno un loro, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;seppur minimale, pannello di controllo, inserendo un&amp;rsquo;immagine di questo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tipo &amp;egrave; possibile scegliere dal pannello solo i livelli che si desidera &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;importare e il tipo di compressione da usare sulla foto, la foto pu&amp;ograve; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essere convertita in formato gif png o jpg e la sua qualit&amp;agrave; viene mostrata &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;immediatamente dalla finestra d&amp;rsquo;anteprima.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression web &amp;egrave; un software maturo molto pratico ed essenziale nell&amp;rsquo;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;interfaccia.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION BLEND&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Che cos&amp;rsquo;&amp;egrave; Blend, o sarebbe meglio dire: cos&amp;rsquo;&amp;egrave; Silverlight? Procediamo con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ordine. &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Blend &amp;egrave; il programma che ci permette di realizzare filmati &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;multimediali e applicazioni sfruttando la tecnologia Silverlight. Silverlight si potrebbe considerare come la risposta di Microsoft a Flash &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ma in realt&amp;agrave; si tratta di una tecnologia molto pi&amp;ugrave; complessa.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I vantaggi &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziali di Silverlight sono una gestione pi&amp;ugrave; fluida dei materiali video &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ad alta definizione e una maggiore facilit&amp;agrave; di creazione di applicazioni &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per l&amp;rsquo;utente. Silverlight utilizza inoltre un linguaggio di programmazione a base &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;testuale denominato XAML, che a differenza di Flash pu&amp;ograve; essere facilmente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rilevato dai motori di ricerca. Inoltre con Blend abbiamo la possibilit&amp;agrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di realizzare delle applicazioni desktop, realizzando i layout da zero.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg" border="0" alt="" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img border="0" src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Chi &amp;egrave; abituato ad utilizzare Flash si trover&amp;agrave; in difficolt&amp;agrave; al primo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;approccio con Blend: l&amp;rsquo;interfaccia &amp;egrave; totalmente diversa, un p&amp;ograve; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;confusionaria, a parte questo piccolo tallone d&amp;rsquo;Achille, stiamo parlando &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di un software dalle grandi capacit&amp;agrave; in grado di snellire i flussi di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;lavoro tra designer e programmatori.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;CONCLUSIONI&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0cm 0cm 0pt;" class="MsoNormal"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Studio rappresenta, nonostante le pecche, tra &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;cui &lt;span style="text-decoration: line-through; color: red;"&gt;anche&lt;/span&gt; la mancanza di una versione per Apple Mac, un prodotto valido &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;anche in ambito professionale, e merita senza dubbio di essere preso in considerazione.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Espression Studio: uno sguardo d'insieme</title><link>http://dotnetcampania.org/wikis/articoli/espression-studio-uno-sguardo-d-insieme/revision/2.aspx</link><pubDate>Tue, 22 Sep 2009 11:53:04 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:51</guid><dc:creator>Carmine Alfano</dc:creator><description>Revision 2 posted to Articoli by Carmine Alfano on 22/09/2009 13:53:04&lt;br /&gt;
&lt;h2&gt;Espression Studio: uno sguardo d&amp;#39;insieme&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Expression Studio, Blend, Silverlight&lt;/div&gt;

&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;la prima incursione da parte di Microsoft nel campo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;della progettazione grafica professionale giunge ormai alla terza &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;edizione, il pacchetto comprende: applicazioni web, progettazione, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;gestione di contenuti multimediali e animazione su linea cronologica.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I programmi pi&amp;ugrave; interessanti della suite sono: &lt;strong&gt;Expression Design&lt;/strong&gt;, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;Expression Web&lt;/strong&gt;, &lt;strong&gt;Expression Blend&lt;/strong&gt;. Tralasciamo quindi per questa volta &lt;strong&gt;Expression Encoder.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION DESIGN&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Design &amp;egrave; un software per la grafica vettoriale orientato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;esclusivamente al web, lavorare in dtp (desktop publishing) risulterebbe &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;impossibile a causa della mancanza del supporto CMYK per le stampe con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;separazioni di colore. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia &amp;egrave; stata studiata andando incontro &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alle esigenze di progettisti e webdesigner che per anni hanno utilizzato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;soltanto Freehand e Illustrator: un esempio eclatante &amp;egrave; quello delle &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;scorciatoie da tastiera del tutto simili ai software sopracitati. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Qualcuno potrebbe obiettare che Design sia la copia sfacciata di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Illustrator, a questo punto vorrei aprire una piccola parentesi: dobbiamo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;considerare il software di casa Adobe dal 1986 sul mercato, come uno &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;standard, infatti anche Macromedia Freehand traeva spunto dal suo (ex) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rivale. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia nera e grigia &amp;egrave; molto elegante ma lavorando per ore su un &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;progetto potrebbe stancare la vista, possiamo risolvere in parte il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;problema selezionando expression chiaro dal pannello delle opzioni.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Personalmente ritengo Design un software dalle grandi potenzialit&amp;agrave; ma &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ancora troppo giovane per un confronto diretto con i suoi concorrenti.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION WEB&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;In casa Microsoft si sentiva da troppo tempo la mancanza di un software &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;WYSIWYG professionale per la realizzazione di pagine web, ecco il motivo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per il quale Frontpage dal 2006 ha ceduto il passo ad Expression Web. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;programma permette di lavorare agevolmente con javascript, CSS e tutte le &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologie del web 2.0, offre inoltre il supporto per la codifica ASP.NET, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;elemento non di poca importanza, perch&amp;eacute;, come vedremo pi&amp;ugrave; avanti, la &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologia Microsoft per le applicazioni web, rappresenta il nucleo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziale di Expression Studio. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Anche in questo caso l&amp;rsquo;interfaccia &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;stata studiata per ottimizzare il flusso di lavoro del webdesigner, molto &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;semplice ed intuitiva permette anche di disegnare i DIV direttamente sul &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;piano di lavoro, inoltre, dalla versione 2.0, ha aggiunto il supporto per &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;PHP, file Silverlight e Flash. Includendo un filmato flash, Expression web oltre a creare il codice html c&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;orrispondente, consente di modificare i parametri di visualizzazione e &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alcuni attributi necessari al controllo del filmato. Per silverlight &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;possibile sia modificare le pagine html generate da Expression encoder o &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Blend sia includere un&amp;rsquo;applicazione silverlight direttamente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;all&amp;rsquo;interno della pagina. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;br /&gt;Le immagini create con Photoshop e salvate in formato .PSD hanno un loro, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;seppur minimale, pannello di controllo, inserendo un&amp;rsquo;immagine di questo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tipo &amp;egrave; possibile scegliere dal pannello solo i livelli che si desidera &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;importare e il tipo di compressione da usare sulla foto, la foto pu&amp;ograve; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essere convertita in formato gif png o jpg e la sua qualit&amp;agrave; viene mostrata &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;immediatamente dalla finestra d&amp;rsquo;anteprima.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression web &amp;egrave; un software maturo molto pratico ed essenziale nell&amp;rsquo;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;interfaccia.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION BLEND&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Che cos&amp;rsquo;&amp;egrave; Blend, o sarebbe meglio dire: cos&amp;rsquo;&amp;egrave; Silverlight? Procediamo con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ordine. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Blend &amp;egrave; il programma che ci permette di realizzare filmati &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;multimediali e applicazioni sfruttando la tecnologia Silverlight. Silverlight si potrebbe considerare come la risposta di Microsoft a Flash &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ma in realt&amp;agrave; si tratta di una tecnologia molto pi&amp;ugrave; complessa.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I vantaggi &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziali di Silverlight sono una gestione pi&amp;ugrave; fluida dei materiali video &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ad alta definizione e una maggiore facilit&amp;agrave; di creazione di applicazioni &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per l&amp;rsquo;utente. Silverlight utilizza inoltre un linguaggio di programmazione a base &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;testuale denominato XAML, che a differenza di Flash pu&amp;ograve; essere facilmente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rilevato dai motori di ricerca. Inoltre con Blend abbiamo la possibilit&amp;agrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di realizzare delle applicazioni desktop, realizzando i layout da zero.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Chi &amp;egrave; abituato ad utilizzare Flash si trover&amp;agrave; in difficolt&amp;agrave; al primo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;approccio con Blend: l&amp;rsquo;interfaccia &amp;egrave; totalmente diversa, un p&amp;ograve; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;confusionaria, a parte questo piccolo tallone d&amp;rsquo;Achille, stiamo parlando &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di un software dalle grandi capacit&amp;agrave; in grado di snellire i flussi di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;lavoro tra designer e programmatori.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;CONCLUSIONI&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Studio rappresenta, nonostante le pecche, tra &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;cui anche la mancanza di una versione per Apple Mac, un prodotto valido &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;anche in ambito professionale, e merita senza dubbio di essere preso in considerazione.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Espression Studio: uno sguardo d'insieme</title><link>http://dotnetcampania.org/wikis/articoli/espression-studio-uno-sguardo-d-insieme/revision/1.aspx</link><pubDate>Tue, 22 Sep 2009 11:51:05 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:50</guid><dc:creator>Carmine Alfano</dc:creator><description>Revision 1 posted to Articoli by Carmine Alfano on 22/09/2009 13:51:05&lt;br /&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;la prima incursione da parte di Microsoft nel campo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;della progettazione grafica professionale giunge ormai alla terza &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;edizione, il pacchetto comprende: applicazioni web, progettazione, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;gestione di contenuti multimediali e animazione su linea cronologica.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I programmi pi&amp;ugrave; interessanti della suite sono: &lt;strong&gt;Expression Design&lt;/strong&gt;, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;Expression Web&lt;/strong&gt;, &lt;strong&gt;Expression Blend&lt;/strong&gt;. Tralasciamo quindi per questa volta &lt;strong&gt;Expression Encoder.&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION DESIGN&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Design &amp;egrave; un software per la grafica vettoriale orientato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;esclusivamente al web, lavorare in dtp (desktop publishing) risulterebbe &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;impossibile a causa della mancanza del supporto CMYK per le stampe con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;separazioni di colore. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia &amp;egrave; stata studiata andando incontro &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alle esigenze di progettisti e webdesigner che per anni hanno utilizzato &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;soltanto Freehand e Illustrator: un esempio eclatante &amp;egrave; quello delle &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;scorciatoie da tastiera del tutto simili ai software sopracitati. &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Qualcuno potrebbe obiettare che Design sia la copia sfacciata di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Illustrator, a questo punto vorrei aprire una piccola parentesi: dobbiamo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;considerare il software di casa Adobe dal 1986 sul mercato, come uno &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;standard, infatti anche Macromedia Freehand traeva spunto dal suo (ex) &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rivale. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;L&amp;rsquo;interfaccia nera e grigia &amp;egrave; molto elegante ma lavorando per ore su un &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;progetto potrebbe stancare la vista, possiamo risolvere in parte il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;problema selezionando expression chiaro dal pannello delle opzioni.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Personalmente ritengo Design un software dalle grandi potenzialit&amp;agrave; ma &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ancora troppo giovane per un confronto diretto con i suoi concorrenti.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION WEB&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;In casa Microsoft si sentiva da troppo tempo la mancanza di un software &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;WYSIWYG professionale per la realizzazione di pagine web, ecco il motivo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per il quale Frontpage dal 2006 ha ceduto il passo ad Expression Web. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Il &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;programma permette di lavorare agevolmente con javascript, CSS e tutte le &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologie del web 2.0, offre inoltre il supporto per la codifica ASP.NET, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;elemento non di poca importanza, perch&amp;eacute;, come vedremo pi&amp;ugrave; avanti, la &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tecnologia Microsoft per le applicazioni web, rappresenta il nucleo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziale di Expression Studio. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Anche in questo caso l&amp;rsquo;interfaccia &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;stata studiata per ottimizzare il flusso di lavoro del webdesigner, molto &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;semplice ed intuitiva permette anche di disegnare i DIV direttamente sul &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;piano di lavoro, inoltre, dalla versione 2.0, ha aggiunto il supporto per &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;PHP, file Silverlight e Flash. Includendo un filmato flash, Expression web oltre a creare il codice html c&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;orrispondente, consente di modificare i parametri di visualizzazione e &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;alcuni attributi necessari al controllo del filmato. Per silverlight &amp;egrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;possibile sia modificare le pagine html generate da Expression encoder o &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Blend sia includere un&amp;rsquo;applicazione silverlight direttamente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;all&amp;rsquo;interno della pagina. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;br /&gt;Le immagini create con Photoshop e salvate in formato .PSD hanno un loro, &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;seppur minimale, pannello di controllo, inserendo un&amp;rsquo;immagine di questo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;tipo &amp;egrave; possibile scegliere dal pannello solo i livelli che si desidera &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;importare e il tipo di compressione da usare sulla foto, la foto pu&amp;ograve; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essere convertita in formato gif png o jpg e la sua qualit&amp;agrave; viene mostrata &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;immediatamente dalla finestra d&amp;rsquo;anteprima.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression web &amp;egrave; un software maturo molto pratico ed essenziale nell&amp;rsquo;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;interfaccia.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;EXPRESSION BLEND&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Che cos&amp;rsquo;&amp;egrave; Blend, o sarebbe meglio dire: cos&amp;rsquo;&amp;egrave; Silverlight? Procediamo con &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ordine. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Blend &amp;egrave; il programma che ci permette di realizzare filmati &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;multimediali e applicazioni sfruttando la tecnologia Silverlight. Silverlight si potrebbe considerare come la risposta di Microsoft a Flash &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ma in realt&amp;agrave; si tratta di una tecnologia molto pi&amp;ugrave; complessa.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;I vantaggi &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;essenziali di Silverlight sono una gestione pi&amp;ugrave; fluida dei materiali video &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;ad alta definizione e una maggiore facilit&amp;agrave; di creazione di applicazioni &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;per l&amp;rsquo;utente. Silverlight utilizza inoltre un linguaggio di programmazione a base &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;testuale denominato XAML, che a differenza di Flash pu&amp;ograve; essere facilmente &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;rilevato dai motori di ricerca. Inoltre con Blend abbiamo la possibilit&amp;agrave; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di realizzare delle applicazioni desktop, realizzando i layout da zero.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/ArticoliCarmine/expressionstudio3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Chi &amp;egrave; abituato ad utilizzare Flash si trover&amp;agrave; in difficolt&amp;agrave; al primo &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;approccio con Blend: l&amp;rsquo;interfaccia &amp;egrave; totalmente diversa, un p&amp;ograve; &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;confusionaria, a parte questo piccolo tallone d&amp;rsquo;Achille, stiamo parlando &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;di un software dalle grandi capacit&amp;agrave; in grado di snellire i flussi di &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;lavoro tra designer e programmatori.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;CONCLUSIONI&lt;/span&gt;&lt;/h3&gt;
&lt;h3 class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;Expression Studio rappresenta, nonostante le pecche, tra &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;cui anche la mancanza di una versione per Apple Mac, un prodotto valido &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ansi-language:IT;mso-fareast-language:IT;mso-bidi-language:AR-SA;"&gt;anche in ambito professionale, e merita senza dubbio di essere preso in considerazione.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>I Fondamenti del .Net Compact Framework</title><link>http://dotnetcampania.org/wikis/articoli/i-fondamenti-del-net-compact-framework/revision/0.aspx</link><pubDate>Mon, 14 Sep 2009 20:47:35 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:18</guid><dc:creator>Liccardi Antonio</dc:creator><description>Current revision posted to Articoli by Liccardi Antonio on 14/09/2009 22:47:35&lt;br /&gt;
&lt;h2&gt;I Fondamenti del .Net Compact Framework&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;net&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;compact&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;framework&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Il .Net Compact Framework &amp;egrave; l&amp;rsquo;ambiente integrato in Windows Mobile che consente l&amp;rsquo;esecuzione di applicazioni gestite, sviluppate in linguaggi di programmazione quali il VB.net e il C#. Il .Net Compact Framework (da ora in poi netCF), &lt;span style="text-decoration:underline;"&gt;pu&amp;ograve; essere considerato come una versione &amp;ldquo;snellita&amp;rdquo;&lt;/span&gt; del .Net Framework, ma al tempo stesso include namespace che non sono presenti nel fratello maggiore. Appare quindi evidente che il netCF &amp;egrave; stato privato di classi che non avrebbero senso in applicazioni per sistemi come Windows Mobile, ma d&amp;rsquo;altro canto, &amp;egrave; stato munito di classi per la gestione di eventi collegati alla telefonia, oppure di eventi connessi all&amp;rsquo;ottimizzazione di applicazioni a causa dell&amp;rsquo;hardware [limitato] di cui un dispositivo mobile &amp;egrave; munito. &lt;/p&gt;
&lt;p&gt;Una cosa importante da capire &amp;egrave; che il netCF non &amp;egrave; nato a partire dal .Net Framework, ma, anche se ne condivide l&amp;rsquo;architettura di base, &amp;egrave; stato riscritto da zero al fine di includere solo il necessario per ottimizzare la gestione dei dispositivi mobili. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Architettura del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;architettura del netCF pu&amp;ograve; essere riepilogata tramite la seguente figura:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/Immagine1.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" alt="image" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/Immagine1.png" height="135" width="240" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Framework Class Library&lt;/h3&gt;
&lt;p&gt;E&amp;rsquo; l&amp;rsquo;insieme delle classi, interfacce e tipi organizzati in namespace. Ha meno classi del fratello maggiore, ma a differenza di quest&amp;rsquo;ultimo include determinate classi per la gestione di determinate operazioni su i dispositivi mobili. La cosa interessante &amp;egrave; che una discreta conoscenza del .Net Framework, facilita la comprensione del netCF. Nell&amp;rsquo;immagine seguente sono illustrate le classi presenti nel netCF in relazione a quelle presenti nel .Net Framework:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/netF.jpg"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="netF" alt="netF" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/netF.jpg" height="306" width="392" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Fonte: &lt;a title="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf" href="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf"&gt;http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Common Language Runtime&lt;/h3&gt;
&lt;p&gt;Il CLR del netCF &amp;egrave; stato ri-creato in base alle funzionalit&amp;agrave; del CLR per il .Net Framework. E&amp;rsquo; possibile sviluppare le proprie applicazioni in VB.Net o C#, e il risultato &amp;egrave; come sempre in MSIL, il linguaggio intermedio che verr&amp;agrave; poi compilato runtime tramite il JIT (e quindi convertito in linguaggio macchina). Il CLR pone particolare attenzione alla memoria: infatti, poich&amp;eacute; quasi sempre gira su dispositivi che hanno una limitata quantit&amp;agrave; di memoria, si occupa di gestire in modo efficiente, la quantit&amp;agrave; di memoria messa a disposizione.&lt;/p&gt;
&lt;h3&gt;Windows CE&lt;/h3&gt;
&lt;p&gt;Oltre al codice gestito, il netCF consente di sviluppare applicazioni in codice nativo. In realt&amp;agrave; il netCF non sviluppa direttamente codice nativo, ma usa le dll native di Windows CE per raggiungere l&amp;rsquo;obiettivo. Tale modalit&amp;agrave; viene anche definita con il nome di Platform Invoke. Una caratteristica delle P/Invoke &amp;egrave; che consentono di accedere ad oggetti COM tramite un&amp;rsquo;applicazione managed. In pratica il netCF non consente l&amp;rsquo;interazione diretta con gli oggetti COM, ma il workaround consiste nel richiamare tramite le P/Invoke una DLL wrapper dell&amp;rsquo;oggetto COM a cui bisogna accedere. Inoltre viene effettuato un marshalling dei tipi di dati tra il CLR e l&amp;rsquo;ambiente nativo. Le P/Invoke sono fornite tramite il namespace &lt;span style="color:#0000ff;"&gt;System.Runtime.InteropServices&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;La Gestione della memoria nel .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come gi&amp;agrave; detto, il netCF ha una ottimale gestione della memoria, consentendo di far girare applicazioni in modo accettabile anche su dispositivi con limitata quantit&amp;agrave; di memoria (naturalmente sempre se l&amp;rsquo;applicazione richiede una quantit&amp;agrave; di memoria minore di quella disponibile!). Infatti, quando non &amp;egrave; disponibile memoria sufficiente, in .NET Compact Framework vengono automaticamente rilasciate le strutture di dati interne non richieste dal codice attualmente in esecuzione. Inoltre, durante l&amp;rsquo;esecuzione di una applicazione &lt;span style="text-decoration:underline;"&gt;non&lt;/span&gt; viene effettuato alcun accesso alle memoria ram. Dal punto di vista della protezione, invece, in caso di accesso alla memoria senza proprietario vengono sempre generate eccezioni. &lt;/p&gt;
&lt;p&gt;In aggiunta a questo, come l&amp;rsquo;MSDN riporta:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;&amp;ldquo;Mediante l&amp;#39;host del dominio applicazione vengono avviati le applicazioni .NET Compact Framework e Common Language Runtime. Le applicazioni .NET Compact Framework utilizzano lo spazio del codice e lo spazio dei dati statici e dinamici come le applicazioni native. Quando non sono in esecuzione applicazioni .NET Compact Framework, la RAM viene utilizzata solo per l&amp;#39;host del dominio applicazione, mentre una quantit&amp;agrave; ridotta di dati statici viene utilizzata da Common Language Runtime. In Windows CE .NET viene creato un host del dominio applicazione all&amp;#39;avvio di un&amp;#39;applicazione .NET Compact Framework.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;Le applicazioni .NET Compact Framework vengono assemblate in file EXE e DLL, che possono essere memorizzati in un file system in sola lettura o in lettura/scrittura nella memoria flash oppure in sola lettura nella ROM. Questi file possono essere letti dal caricatore di classe di Common Language Runtime in blocchi indirizzabili direttamente, senza la creazione di una copia in memoria e senza che sia richiesta un&amp;#39;unit&amp;agrave; di gestione della memoria per creare una visualizzazione mappata in memoria del file.&amp;rdquo;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La memoria RAM e la memoria ROM vengono usate in questo modo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAM: viene in genere usata per la memorizzazione di strutture dati dinamiche e codice compilato tramite JIT. Il netCF usa una quantit&amp;agrave; prestabilita di RAM, che &amp;egrave; pronto a liberare nel momento opportuno. Il CLR inoltre usa tecniche di &lt;i&gt;code-pitching, &lt;/i&gt;liberando cos&amp;igrave; spazi di memoria. &lt;/li&gt;
&lt;li&gt;ROM: viene in genere usata per la memorizzazione del codice nativo di cui &amp;egrave; costituito il CLR, ed in alcuni casi anche i file contenenti metadati e istruzioni MSIL (Microsoft Intermediate Language) per librerie di classi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Tipi di dati&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come nel .Net Framework, anche nel netCF esistono 2 tipi di dati: per &lt;i&gt;valore&lt;/i&gt; e per &lt;i&gt;riferimento&lt;/i&gt;. Il primo serve per memorizzare solo valori, il secondo invece consente la memorizzazione di &lt;i&gt;oggetti&lt;/i&gt;. La principale differenza tra i due &amp;egrave; &lt;i&gt;dove&lt;/i&gt; vengono memorizzati. I tipi di valore vengono allocati nello &lt;span style="color:#0000ff;"&gt;stack&lt;/span&gt;, i tipi di riferimento invece usano l&amp;rsquo;&lt;span style="color:#0000ff;"&gt;heap&lt;/span&gt; e per tale motivo necessitano di un &lt;i&gt;garbage collector&lt;/i&gt;, al fine di liberare la memoria occupata e non pi&amp;ugrave; utile ai fini della corretta esecuzione di un&amp;rsquo;applicazione. &lt;/p&gt;
&lt;p&gt;Bisogna aggiungere che il netCF supporta l&amp;rsquo;ereditariet&amp;agrave; singola, la Reflection, e le Generics. Inoltre anche nel netCF il programmatore pu&amp;ograve; far uso dei blocchi di codice &lt;i&gt;try/catch/finally&lt;/i&gt; al fine di gestire eccezioni runtime.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Installazione del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;In genere il .Net Compact Framework viene installato insieme al Visual Studio. C&amp;rsquo;&amp;egrave; da notare che non tutte le versioni di Visual Studio supportano la creazione di applicazioni per smart device: solo le versioni Standard e superiori di Visual Studio, hanno la possibilit&amp;agrave; di creare questo tipo di progetto. E&amp;rsquo; necessario installare anche il Windows Mobile SDK, che include molti esempi di codice e gli indispensabili emulatori (nel prossimo articolo ne parleremo in dettaglio) per testare a fondo le nostre applicazioni. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Stato dell&amp;rsquo;arte&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Attualmente il netCF si trova alla versione 3.5. Ecco alcune novit&amp;agrave; rispetto alle versioni precedenti sono le seguenti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;netCF 3.5 supporta Windows Communication Foundation;&lt;/li&gt;
&lt;li&gt;netCF 3.5 consente di effettuare query su database, xml e oggetti in memoria tramite LINQ;&lt;/li&gt;
&lt;li&gt;miglioramento delle windows form;&lt;/li&gt;
&lt;li&gt;introduzione di SoundPlayer, che consente la riproduzione di pi&amp;ugrave; suoni;&lt;/li&gt;
&lt;li&gt;supporto per la compressione tramite il namespace &lt;a href="http://msdn.microsoft.com/it-it/library/system.io.compression.aspx"&gt;System.IO.Compression&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&amp;egrave; stato aggiunto il profiler CLR, che consente di visualizzare l&amp;#39;heap gestito di un processo ed esaminare il comportamento del Garbage Collector;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Epilogo&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Oggi giorno l&amp;rsquo;uso dei dispositivi mobili risulta sempre pi&amp;ugrave; diffuso. Basti pensare che sistemi operativi come Windows Mobile consentono di portarsi un vero e proprio ufficio in tasca, che di gran lunga facilitano il lavoro delle persone. Ma non solo. Il target non si limita ai soli lavoratori! Anche un adolescente,pu&amp;ograve; farne uso per ascoltarne musica, consultare pagine web, controllare la posta. Insomma, appare evidente che i dispositivi mobili si prestano ad una marea di usi, indipendentemente &lt;i&gt;da chi li usa&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;In questa primo articolo, abbiamo dato un&amp;rsquo;occhiata al cuore che consente di far &amp;ldquo;pulsare&amp;rdquo; le nostre applicazioni su Windows Mobile. La conoscenza del netCF risulta necessaria per capire innanzitutto come dover sviluppare le nostre applicazioni, ma anche come ottenerne il meglio sfruttando appieno ci&amp;ograve; che il netCF ci mette a disposizione.&lt;/p&gt;
&lt;p&gt;Per il momento non mi resta che salutarvi e darvi appuntamento al prossimo articolo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Stay tuned&lt;/i&gt; :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;[Bibliografia]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Sezione relativa al .Net Compact Framework su MSDN; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Professional Microsoft Smartphone Programming (Yang, Zheng, Ni) - Wiley 2007&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>I Fondamenti del .Net Compact Framework</title><link>http://dotnetcampania.org/wikis/articoli/i-fondamenti-del-net-compact-framework/revision/2.aspx</link><pubDate>Mon, 14 Sep 2009 20:46:02 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:49</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 2 posted to Articoli by Liccardi Antonio on 14/09/2009 22:46:02&lt;br /&gt;
&lt;h2&gt;I Fondamenti del .Net Compact Framework&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: .net compact framework&lt;/div&gt;

&lt;p&gt;Il .Net Compact Framework &amp;egrave; l&amp;rsquo;ambiente integrato in Windows Mobile che consente l&amp;rsquo;esecuzione di applicazioni gestite, sviluppate in linguaggi di programmazione quali il VB.net e il C#. Il .Net Compact Framework (da ora in poi netCF), &lt;span style="text-decoration:underline;"&gt;pu&amp;ograve; essere considerato come una versione &amp;ldquo;snellita&amp;rdquo;&lt;/span&gt; del .Net Framework, ma al tempo stesso include namespace che non sono presenti nel fratello maggiore. Appare quindi evidente che il netCF &amp;egrave; stato privato di classi che non avrebbero senso in applicazioni per sistemi come Windows Mobile, ma d&amp;rsquo;altro canto, &amp;egrave; stato munito di classi per la gestione di eventi collegati alla telefonia, oppure di eventi connessi all&amp;rsquo;ottimizzazione di applicazioni a causa dell&amp;rsquo;hardware [limitato] di cui un dispositivo mobile &amp;egrave; munito. &lt;/p&gt;
&lt;p&gt;Una cosa importante da capire &amp;egrave; che il netCF non &amp;egrave; nato a partire dal .Net Framework, ma, anche se ne condivide l&amp;rsquo;architettura di base, &amp;egrave; stato riscritto da zero al fine di includere solo il necessario per ottimizzare la gestione dei dispositivi mobili. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Architettura del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;architettura del netCF pu&amp;ograve; essere riepilogata tramite la seguente figura:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/wikis/articoli/add.aspx/$image8.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" alt="image" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/Immagine1.png" height="135" width="240" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Framework Class Library&lt;/h3&gt;
&lt;p&gt;E&amp;rsquo; l&amp;rsquo;insieme delle classi, interfacce e tipi organizzati in namespace. Ha meno classi del fratello maggiore, ma a differenza di quest&amp;rsquo;ultimo include determinate classi per la gestione di determinate operazioni su i dispositivi mobili. La cosa interessante &amp;egrave; che una discreta conoscenza del .Net Framework, facilita la comprensione del netCF. Nell&amp;rsquo;immagine seguente sono illustrate le classi presenti nel netCF in relazione a quelle presenti nel .Net Framework:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/wikis/articoli/add.aspx/$netF6.jpg"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="netF" alt="netF" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/netF.jpg" height="306" width="392" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Fonte: &lt;a title="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf" href="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf"&gt;http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Common Language Runtime&lt;/h3&gt;
&lt;p&gt;Il CLR del netCF &amp;egrave; stato ri-creato in base alle funzionalit&amp;agrave; del CLR per il .Net Framework. E&amp;rsquo; possibile sviluppare le proprie applicazioni in VB.Net o C#, e il risultato &amp;egrave; come sempre in MSIL, il linguaggio intermedio che verr&amp;agrave; poi compilato runtime tramite il JIT (e quindi convertito in linguaggio macchina). Il CLR pone particolare attenzione alla memoria: infatti, poich&amp;eacute; quasi sempre gira su dispositivi che hanno una limitata quantit&amp;agrave; di memoria, si occupa di gestire in modo efficiente, la quantit&amp;agrave; di memoria messa a disposizione.&lt;/p&gt;
&lt;h3&gt;Windows CE&lt;/h3&gt;
&lt;p&gt;Oltre al codice gestito, il netCF consente di sviluppare applicazioni in codice nativo. In realt&amp;agrave; il netCF non sviluppa direttamente codice nativo, ma usa le dll native di Windows CE per raggiungere l&amp;rsquo;obiettivo. Tale modalit&amp;agrave; viene anche definita con il nome di Platform Invoke. Una caratteristica delle P/Invoke &amp;egrave; che consentono di accedere ad oggetti COM tramite un&amp;rsquo;applicazione managed. In pratica il netCF non consente l&amp;rsquo;interazione diretta con gli oggetti COM, ma il workaround consiste nel richiamare tramite le P/Invoke una DLL wrapper dell&amp;rsquo;oggetto COM a cui bisogna accedere. Inoltre viene effettuato un marshalling dei tipi di dati tra il CLR e l&amp;rsquo;ambiente nativo. Le P/Invoke sono fornite tramite il namespace &lt;span style="color:#0000ff;"&gt;System.Runtime.InteropServices&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;La Gestione della memoria nel .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come gi&amp;agrave; detto, il netCF ha una ottimale gestione della memoria, consentendo di far girare applicazioni in modo accettabile anche su dispositivi con limitata quantit&amp;agrave; di memoria (naturalmente sempre se l&amp;rsquo;applicazione richiede una quantit&amp;agrave; di memoria minore di quella disponibile!). Infatti, quando non &amp;egrave; disponibile memoria sufficiente, in .NET Compact Framework vengono automaticamente rilasciate le strutture di dati interne non richieste dal codice attualmente in esecuzione. Inoltre, durante l&amp;rsquo;esecuzione di una applicazione &lt;span style="text-decoration:underline;"&gt;non&lt;/span&gt; viene effettuato alcun accesso alle memoria ram. Dal punto di vista della protezione, invece, in caso di accesso alla memoria senza proprietario vengono sempre generate eccezioni. &lt;/p&gt;
&lt;p&gt;In aggiunta a questo, come l&amp;rsquo;MSDN riporta:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;&amp;ldquo;Mediante l&amp;#39;host del dominio applicazione vengono avviati le applicazioni .NET Compact Framework e Common Language Runtime. Le applicazioni .NET Compact Framework utilizzano lo spazio del codice e lo spazio dei dati statici e dinamici come le applicazioni native. Quando non sono in esecuzione applicazioni .NET Compact Framework, la RAM viene utilizzata solo per l&amp;#39;host del dominio applicazione, mentre una quantit&amp;agrave; ridotta di dati statici viene utilizzata da Common Language Runtime. In Windows CE .NET viene creato un host del dominio applicazione all&amp;#39;avvio di un&amp;#39;applicazione .NET Compact Framework.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;Le applicazioni .NET Compact Framework vengono assemblate in file EXE e DLL, che possono essere memorizzati in un file system in sola lettura o in lettura/scrittura nella memoria flash oppure in sola lettura nella ROM. Questi file possono essere letti dal caricatore di classe di Common Language Runtime in blocchi indirizzabili direttamente, senza la creazione di una copia in memoria e senza che sia richiesta un&amp;#39;unit&amp;agrave; di gestione della memoria per creare una visualizzazione mappata in memoria del file.&amp;rdquo;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La memoria RAM e la memoria ROM vengono usate in questo modo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAM: viene in genere usata per la memorizzazione di strutture dati dinamiche e codice compilato tramite JIT. Il netCF usa una quantit&amp;agrave; prestabilita di RAM, che &amp;egrave; pronto a liberare nel momento opportuno. Il CLR inoltre usa tecniche di &lt;i&gt;code-pitching, &lt;/i&gt;liberando cos&amp;igrave; spazi di memoria. &lt;/li&gt;
&lt;li&gt;ROM: viene in genere usata per la memorizzazione del codice nativo di cui &amp;egrave; costituito il CLR, ed in alcuni casi anche i file contenenti metadati e istruzioni MSIL (Microsoft Intermediate Language) per librerie di classi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Tipi di dati&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come nel .Net Framework, anche nel netCF esistono 2 tipi di dati: per &lt;i&gt;valore&lt;/i&gt; e per &lt;i&gt;riferimento&lt;/i&gt;. Il primo serve per memorizzare solo valori, il secondo invece consente la memorizzazione di &lt;i&gt;oggetti&lt;/i&gt;. La principale differenza tra i due &amp;egrave; &lt;i&gt;dove&lt;/i&gt; vengono memorizzati. I tipi di valore vengono allocati nello &lt;span style="color:#0000ff;"&gt;stack&lt;/span&gt;, i tipi di riferimento invece usano l&amp;rsquo;&lt;span style="color:#0000ff;"&gt;heap&lt;/span&gt; e per tale motivo necessitano di un &lt;i&gt;garbage collector&lt;/i&gt;, al fine di liberare la memoria occupata e non pi&amp;ugrave; utile ai fini della corretta esecuzione di un&amp;rsquo;applicazione. &lt;/p&gt;
&lt;p&gt;Bisogna aggiungere che il netCF supporta l&amp;rsquo;ereditariet&amp;agrave; singola, la Reflection, e le Generics. Inoltre anche nel netCF il programmatore pu&amp;ograve; far uso dei blocchi di codice &lt;i&gt;try/catch/finally&lt;/i&gt; al fine di gestire eccezioni runtime.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Installazione del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;In genere il .Net Compact Framework viene installato insieme al Visual Studio. C&amp;rsquo;&amp;egrave; da notare che non tutte le versioni di Visual Studio supportano la creazione di applicazioni per smart device: solo le versioni Standard e superiori di Visual Studio, hanno la possibilit&amp;agrave; di creare questo tipo di progetto. E&amp;rsquo; necessario installare anche il Windows Mobile SDK, che include molti esempi di codice e gli indispensabili emulatori (nel prossimo articolo ne parleremo in dettaglio) per testare a fondo le nostre applicazioni. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Stato dell&amp;rsquo;arte&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Attualmente il netCF si trova alla versione 3.5. Ecco alcune novit&amp;agrave; rispetto alle versioni precedenti sono le seguenti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;netCF 3.5 supporta Windows Communication Foundation;&lt;/li&gt;
&lt;li&gt;netCF 3.5 consente di effettuare query su database, xml e oggetti in memoria tramite LINQ;&lt;/li&gt;
&lt;li&gt;miglioramento delle windows form;&lt;/li&gt;
&lt;li&gt;introduzione di SoundPlayer, che consente la riproduzione di pi&amp;ugrave; suoni;&lt;/li&gt;
&lt;li&gt;supporto per la compressione tramite il namespace &lt;a href="http://msdn.microsoft.com/it-it/library/system.io.compression.aspx"&gt;System.IO.Compression&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&amp;egrave; stato aggiunto il profiler CLR, che consente di visualizzare l&amp;#39;heap gestito di un processo ed esaminare il comportamento del Garbage Collector;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Epilogo&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Oggi giorno l&amp;rsquo;uso dei dispositivi mobili risulta sempre pi&amp;ugrave; diffuso. Basti pensare che sistemi operativi come Windows Mobile consentono di portarsi un vero e proprio ufficio in tasca, che di gran lunga facilitano il lavoro delle persone. Ma non solo. Il target non si limita ai soli lavoratori! Anche un adolescente,pu&amp;ograve; farne uso per ascoltarne musica, consultare pagine web, controllare la posta. Insomma, appare evidente che i dispositivi mobili si prestano ad una marea di usi, indipendentemente &lt;i&gt;da chi li usa&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;In questa primo articolo, abbiamo dato un&amp;rsquo;occhiata al cuore che consente di far &amp;ldquo;pulsare&amp;rdquo; le nostre applicazioni su Windows Mobile. La conoscenza del netCF risulta necessaria per capire innanzitutto come dover sviluppare le nostre applicazioni, ma anche come ottenerne il meglio sfruttando appieno ci&amp;ograve; che il netCF ci mette a disposizione.&lt;/p&gt;
&lt;p&gt;Per il momento non mi resta che salutarvi e darvi appuntamento al prossimo articolo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Stay tuned&lt;/i&gt; :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;[Bibliografia]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Sezione relativa al .Net Compact Framework su MSDN; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Professional Microsoft Smartphone Programming (Yang, Zheng, Ni) &lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Wiley&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;2007&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>I Fondamenti del .Net Compact Framework</title><link>http://dotnetcampania.org/wikis/articoli/i-fondamenti-del-net-compact-framework/revision/1.aspx</link><pubDate>Mon, 14 Sep 2009 20:39:40 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:46</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 1 posted to Articoli by Liccardi Antonio on 14/09/2009 22:39:40&lt;br /&gt;
&lt;p&gt;Il .Net Compact Framework &amp;egrave; l&amp;rsquo;ambiente integrato in Windows Mobile che consente l&amp;rsquo;esecuzione di applicazioni gestite, sviluppate in linguaggi di programmazione quali il VB.net e il C#. Il .Net Compact Framework (da ora in poi netCF), &lt;span style="text-decoration:underline;"&gt;pu&amp;ograve; essere considerato come una versione &amp;ldquo;snellita&amp;rdquo;&lt;/span&gt; del .Net Framework, ma al tempo stesso include namespace che non sono presenti nel fratello maggiore. Appare quindi evidente che il netCF &amp;egrave; stato privato di classi che non avrebbero senso in applicazioni per sistemi come Windows Mobile, ma d&amp;rsquo;altro canto, &amp;egrave; stato munito di classi per la gestione di eventi collegati alla telefonia, oppure di eventi connessi all&amp;rsquo;ottimizzazione di applicazioni a causa dell&amp;rsquo;hardware [limitato] di cui un dispositivo mobile &amp;egrave; munito. &lt;/p&gt;
&lt;p&gt;Una cosa importante da capire &amp;egrave; che il netCF non &amp;egrave; nato a partire dal .Net Framework, ma, anche se ne condivide l&amp;rsquo;architettura di base, &amp;egrave; stato riscritto da zero al fine di includere solo il necessario per ottimizzare la gestione dei dispositivi mobili. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Architettura del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;architettura del netCF pu&amp;ograve; essere riepilogata tramite la seguente figura:&lt;/p&gt;
&lt;p align="center"&gt;&lt;a href="/wikis/articoli/add.aspx/$image8.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" alt="image" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/Immagine1.png" height="135" width="240" border="0" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Framework Class Library&lt;/h3&gt;
&lt;p&gt;E&amp;rsquo; l&amp;rsquo;insieme delle classi, interfacce e tipi organizzati in namespace. Ha meno classi del fratello maggiore, ma a differenza di quest&amp;rsquo;ultimo include determinate classi per la gestione di determinate operazioni su i dispositivi mobili. La cosa interessante &amp;egrave; che una discreta conoscenza del .Net Framework, facilita la comprensione del netCF. Nell&amp;rsquo;immagine seguente sono illustrate le classi presenti nel netCF in relazione a quelle presenti nel .Net Framework:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/wikis/articoli/add.aspx/$netF6.jpg"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="netF" alt="netF" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/netF.jpg" height="306" width="392" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[Fonte: &lt;a title="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf" href="http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf"&gt;http://download.microsoft.com/download/9/B/6/9B64192D-7381-451E-8692-B6B450643412/poster_updated.pdf&lt;/a&gt;]&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;/h3&gt;
&lt;h3&gt;Common Language Runtime&lt;/h3&gt;
&lt;p&gt;Il CLR del netCF &amp;egrave; stato ri-creato in base alle funzionalit&amp;agrave; del CLR per il .Net Framework. E&amp;rsquo; possibile sviluppare le proprie applicazioni in VB.Net o C#, e il risultato &amp;egrave; come sempre in MSIL, il linguaggio intermedio che verr&amp;agrave; poi compilato runtime tramite il JIT (e quindi convertito in linguaggio macchina). Il CLR pone particolare attenzione alla memoria: infatti, poich&amp;eacute; quasi sempre gira su dispositivi che hanno una limitata quantit&amp;agrave; di memoria, si occupa di gestire in modo efficiente, la quantit&amp;agrave; di memoria messa a disposizione.&lt;/p&gt;
&lt;h3&gt;Windows CE&lt;/h3&gt;
&lt;p&gt;Oltre al codice gestito, il netCF consente di sviluppare applicazioni in codice nativo. In realt&amp;agrave; il netCF non sviluppa direttamente codice nativo, ma usa le dll native di Windows CE per raggiungere l&amp;rsquo;obiettivo. Tale modalit&amp;agrave; viene anche definita con il nome di Platform Invoke. Una caratteristica delle P/Invoke &amp;egrave; che consentono di accedere ad oggetti COM tramite un&amp;rsquo;applicazione managed. In pratica il netCF non consente l&amp;rsquo;interazione diretta con gli oggetti COM, ma il workaround consiste nel richiamare tramite le P/Invoke una DLL wrapper dell&amp;rsquo;oggetto COM a cui bisogna accedere. Inoltre viene effettuato un marshalling dei tipi di dati tra il CLR e l&amp;rsquo;ambiente nativo. Le P/Invoke sono fornite tramite il namespace &lt;span style="color:#0000ff;"&gt;System.Runtime.InteropServices&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;La Gestione della memoria nel .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come gi&amp;agrave; detto, il netCF ha una ottimale gestione della memoria, consentendo di far girare applicazioni in modo accettabile anche su dispositivi con limitata quantit&amp;agrave; di memoria (naturalmente sempre se l&amp;rsquo;applicazione richiede una quantit&amp;agrave; di memoria minore di quella disponibile!). Infatti, quando non &amp;egrave; disponibile memoria sufficiente, in .NET Compact Framework vengono automaticamente rilasciate le strutture di dati interne non richieste dal codice attualmente in esecuzione. Inoltre, durante l&amp;rsquo;esecuzione di una applicazione &lt;span style="text-decoration:underline;"&gt;non&lt;/span&gt; viene effettuato alcun accesso alle memoria ram. Dal punto di vista della protezione, invece, in caso di accesso alla memoria senza proprietario vengono sempre generate eccezioni. &lt;/p&gt;
&lt;p&gt;In aggiunta a questo, come l&amp;rsquo;MSDN riporta:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;&amp;ldquo;Mediante l&amp;#39;host del dominio applicazione vengono avviati le applicazioni .NET Compact Framework e Common Language Runtime. Le applicazioni .NET Compact Framework utilizzano lo spazio del codice e lo spazio dei dati statici e dinamici come le applicazioni native. Quando non sono in esecuzione applicazioni .NET Compact Framework, la RAM viene utilizzata solo per l&amp;#39;host del dominio applicazione, mentre una quantit&amp;agrave; ridotta di dati statici viene utilizzata da Common Language Runtime. In Windows CE .NET viene creato un host del dominio applicazione all&amp;#39;avvio di un&amp;#39;applicazione .NET Compact Framework.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;span style="color:#808080;"&gt;Le applicazioni .NET Compact Framework vengono assemblate in file EXE e DLL, che possono essere memorizzati in un file system in sola lettura o in lettura/scrittura nella memoria flash oppure in sola lettura nella ROM. Questi file possono essere letti dal caricatore di classe di Common Language Runtime in blocchi indirizzabili direttamente, senza la creazione di una copia in memoria e senza che sia richiesta un&amp;#39;unit&amp;agrave; di gestione della memoria per creare una visualizzazione mappata in memoria del file.&amp;rdquo;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La memoria RAM e la memoria ROM vengono usate in questo modo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;RAM: viene in genere usata per la memorizzazione di strutture dati dinamiche e codice compilato tramite JIT. Il netCF usa una quantit&amp;agrave; prestabilita di RAM, che &amp;egrave; pronto a liberare nel momento opportuno. Il CLR inoltre usa tecniche di &lt;i&gt;code-pitching, &lt;/i&gt;liberando cos&amp;igrave; spazi di memoria. &lt;/li&gt;
&lt;li&gt;ROM: viene in genere usata per la memorizzazione del codice nativo di cui &amp;egrave; costituito il CLR, ed in alcuni casi anche i file contenenti metadati e istruzioni MSIL (Microsoft Intermediate Language) per librerie di classi.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Tipi di dati&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Come nel .Net Framework, anche nel netCF esistono 2 tipi di dati: per &lt;i&gt;valore&lt;/i&gt; e per &lt;i&gt;riferimento&lt;/i&gt;. Il primo serve per memorizzare solo valori, il secondo invece consente la memorizzazione di &lt;i&gt;oggetti&lt;/i&gt;. La principale differenza tra i due &amp;egrave; &lt;i&gt;dove&lt;/i&gt; vengono memorizzati. I tipi di valore vengono allocati nello &lt;span style="color:#0000ff;"&gt;stack&lt;/span&gt;, i tipi di riferimento invece usano l&amp;rsquo;&lt;span style="color:#0000ff;"&gt;heap&lt;/span&gt; e per tale motivo necessitano di un &lt;i&gt;garbage collector&lt;/i&gt;, al fine di liberare la memoria occupata e non pi&amp;ugrave; utile ai fini della corretta esecuzione di un&amp;rsquo;applicazione. &lt;/p&gt;
&lt;p&gt;Bisogna aggiungere che il netCF supporta l&amp;rsquo;ereditariet&amp;agrave; singola, la Reflection, e le Generics. Inoltre anche nel netCF il programmatore pu&amp;ograve; far uso dei blocchi di codice &lt;i&gt;try/catch/finally&lt;/i&gt; al fine di gestire eccezioni runtime.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Installazione del .Net Compact Framework&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;In genere il .Net Compact Framework viene installato insieme al Visual Studio. C&amp;rsquo;&amp;egrave; da notare che non tutte le versioni di Visual Studio supportano la creazione di applicazioni per smart device: solo le versioni Standard e superiori di Visual Studio, hanno la possibilit&amp;agrave; di creare questo tipo di progetto. E&amp;rsquo; necessario installare anche il Windows Mobile SDK, che include molti esempi di codice e gli indispensabili emulatori (nel prossimo articolo ne parleremo in dettaglio) per testare a fondo le nostre applicazioni. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Stato dell&amp;rsquo;arte&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Attualmente il netCF si trova alla versione 3.5. Ecco alcune novit&amp;agrave; rispetto alle versioni precedenti sono le seguenti:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;netCF 3.5 supporta Windows Communication Foundation;&lt;/li&gt;
&lt;li&gt;netCF 3.5 consente di effettuare query su database, xml e oggetti in memoria tramite LINQ;&lt;/li&gt;
&lt;li&gt;miglioramento delle windows form;&lt;/li&gt;
&lt;li&gt;introduzione di SoundPlayer, che consente la riproduzione di pi&amp;ugrave; suoni;&lt;/li&gt;
&lt;li&gt;supporto per la compressione tramite il namespace &lt;a href="http://msdn.microsoft.com/it-it/library/system.io.compression.aspx"&gt;System.IO.Compression&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&amp;egrave; stato aggiunto il profiler CLR, che consente di visualizzare l&amp;#39;heap gestito di un processo ed esaminare il comportamento del Garbage Collector;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration:underline;"&gt;Epilogo&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Oggi giorno l&amp;rsquo;uso dei dispositivi mobili risulta sempre pi&amp;ugrave; diffuso. Basti pensare che sistemi operativi come Windows Mobile consentono di portarsi un vero e proprio ufficio in tasca, che di gran lunga facilitano il lavoro delle persone. Ma non solo. Il target non si limita ai soli lavoratori! Anche un adolescente,pu&amp;ograve; farne uso per ascoltarne musica, consultare pagine web, controllare la posta. Insomma, appare evidente che i dispositivi mobili si prestano ad una marea di usi, indipendentemente &lt;i&gt;da chi li usa&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;In questa primo articolo, abbiamo dato un&amp;rsquo;occhiata al cuore che consente di far &amp;ldquo;pulsare&amp;rdquo; le nostre applicazioni su Windows Mobile. La conoscenza del netCF risulta necessaria per capire innanzitutto come dover sviluppare le nostre applicazioni, ma anche come ottenerne il meglio sfruttando appieno ci&amp;ograve; che il netCF ci mette a disposizione.&lt;/p&gt;
&lt;p&gt;Per il momento non mi resta che salutarvi e darvi appuntamento al prossimo articolo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Stay tuned&lt;/i&gt; :)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;[Bibliografia]&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Sezione relativa al .Net Compact Framework su MSDN; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color:#888888;"&gt;&lt;span style="font-size:x-small;"&gt;- Professional Microsoft Smartphone Programming (Yang, Zheng, Ni)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Architettura: tutto comincia dai requisiti!</title><link>http://dotnetcampania.org/wikis/articoli/architettura-tutto-comincia-dai-requisiti/revision/0.aspx</link><pubDate>Sun, 13 Sep 2009 20:45:26 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:17</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 13/09/2009 22:45:26&lt;br /&gt;
&lt;h2&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Archiettura&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Architettura&lt;/span&gt;: tutto comincia dai requisiti!&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Architettura&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Rieccoci a parlare di architettura e come promesso in questo appuntamento parleremo di requisiti, i famosi requisiti software da cui un architetto comincia il suo lavoro e l&amp;rsquo;analista termina il suo con la loro definizione.&lt;/p&gt;
&lt;h4&gt;Che cos&amp;rsquo;&amp;egrave; un requisito?&lt;/h4&gt;
&lt;p&gt;In accordo con la standardizzazione IEEE un requisito pu&amp;ograve; essere definito come:&lt;/p&gt;
&lt;p&gt;1. Una condizione o capacit&amp;agrave; necessaria ad un utente per risolvere un problema o raggiungere un obiettivo&lt;/p&gt;
&lt;p&gt;2. Una condizione o capacit&amp;agrave; che deve essere posseduta dal sistema o da un componente del sistema per soddisfare un contratto, uno standard, una specifica o altre formalizzazioni.&lt;/p&gt;
&lt;p&gt;3. Una rappresentazione documentata di una condizione o capacit&amp;agrave; che soddisfi i primi due punti&lt;/p&gt;
&lt;p&gt;&lt;a name="28"&gt;&lt;/a&gt;Alla luce di questa definizione, che ci aiuta a formalizzare meglio il concetto abbastanza intuitivo di requisito software, possiamo dunque dire che un requisito &amp;egrave; un una capacit&amp;agrave; che il sistema deve possedere per risolvere un problema dell&amp;rsquo;utente, formalizzata opportunamente e opportunamente documentata.&lt;/p&gt;
&lt;p&gt;Il fatto che un requisito per essere tale debba essere scritto da qualche parte &amp;egrave; una fattore fondamentale: &amp;egrave; l&amp;rsquo;unico modo di renderlo comunicabile efficacemente a chi ha bisogno di conoscerlo!&lt;/p&gt;
&lt;h4&gt;Tipologie di requisiti&lt;/h4&gt;
&lt;p&gt;Secondo la norma ISO 9126 &amp;egrave; possibile raggruppare i requisiti in 6 categorie e 21 sottocategorie, alcune orientate all&amp;rsquo;utente, altre orientate allo sviluppo e manutenzione. Ognuna di queste categorie rappresenta una caratteristica del sistema:&lt;/p&gt;
&lt;h6&gt;&lt;/h6&gt;
&lt;h5&gt;Funzionalit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; del sistema di soddisfare esigenze implicite o esplicite.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Idoneit&amp;agrave;&lt;/em&gt;:esprime l&amp;rsquo;appropriatezza delle funzionalit&amp;agrave; a specifici compiti. &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Accuratezza&lt;/em&gt;: esprime la precisione con cui vengono forniti i risultati. &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Interoperabilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di interagire con altre applicazioni &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sicurezza&lt;/em&gt;: esprime la protezione da utilizzi non autorizzati &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Concordanza&lt;/em&gt;: esprime l&amp;rsquo;aderenza a standard o regolamentazioni legislative &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Disponibilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di fornire continuit&amp;agrave; nel servizio.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Maturit&amp;agrave;&lt;/em&gt;: esprime la mancanza di interruzioni per malfunzionamenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tolleranza&lt;/em&gt;: esprime il degrado delle prestazioni in presenza di malfunzionamenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Recupero&lt;/em&gt;: esprime la capacit&amp;agrave; e la velocit&amp;agrave; di rispristino a seguito di malfunzionamenti &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Usabilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la facilit&amp;agrave; di utilizzo da parte degli utenti.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Comprensione&lt;/em&gt;:&amp;nbsp; esprime la capacit&amp;agrave; di acquisire un adeguato livello di conoscenza del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Apprendimento&lt;/em&gt;: esprime la facilit&amp;agrave; di familiarizzazione del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Utilizzabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di uso e controllo del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Attrattiva&lt;/em&gt;: esprime il livello di gradimento nell&amp;rsquo;utilizzo del sistema &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Efficienza&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di fornire prestazioni adeguate&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Tempo risposta&lt;/em&gt;: esprime la reattivit&amp;agrave; agli stimoli dell&amp;rsquo;utente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Utilizzo di risorse&lt;/em&gt;: esprime l&amp;rsquo;adeguatezza dell&amp;rsquo;utilizzo delle risorse del sistema &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Manutenibilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la facilit&amp;agrave; di manutenzione correttiva ed evolutiva.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Analizzabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di diagnosi e individuazione dei componenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Modificabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di applicazione delle modifiche al sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Stabilit&amp;agrave;&lt;/em&gt;: esprime il grado di introduzione effetti indesiderati a seguito di modifiche al sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Collaudabilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di testare le modifiche effettuate &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Portabilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di trasferibilit&amp;agrave; da un ambiente ad un altro&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Adattabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di adeguamento ad un nuovo ambiente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Installabilit&amp;agrave;&lt;/em&gt;: esprime la velocit&amp;agrave; e completezza di installazione &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Coesistenza&lt;/em&gt;: esprime la capacit&amp;agrave; di risiedere con altre applicazioni nello stesso ambiente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sostituibilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di rimpiazzare un&amp;rsquo;altra applicazione con simili funzionalit&amp;agrave; &lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Come si esprimono i requisiti?&lt;/h4&gt;
&lt;p&gt;Una volta capito cos&amp;rsquo;&amp;egrave; un requisito chiediamoci adesso come esprimerli, una volta raccolti, in modo che sia possibile fornire la sopracitata rappresentazione documentata.&lt;/p&gt;
&lt;p&gt;Il primo passo in assoluto da compiere &amp;egrave; essere sicuri che abbiamo circoscritto per bene il sistema e gli unici a darci conferma della nostra corretta interpretazione delle interviste effettuate sono proprio gli intervistati: gli stakeholder! Dobbiamo quindi compilare per loro un documento che non utilizzi formalismi tecnici e che sia capace di descrivere, anche brevemente, quello che secondo noi &amp;egrave; il sistema di cui il cliente ha bisogno. Questo documento ha un nome&amp;hellip;&lt;/p&gt;
&lt;h5&gt;Documento di Vision e Scopo&lt;/h5&gt;
&lt;p&gt;Il documento di Vision e Scopo serve fondamentalmente ad allineare l&amp;rsquo;opinione di tutti gli stakeholder su quello che sar&amp;agrave; fatto e a risolvere i conflitti nati da pareri discordati degli stessi.&lt;/p&gt;
&lt;p&gt;Volendo fornire un template di tale documento, possiamo schematizzarlo nella seguente struttura:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requisiti di Business&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In questa sezione vengono descritti i principali benefici del nuovo sistema, con un&amp;rsquo;enfasi diversa a seconda del tipo di prodotto da realizzare.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Premessa&lt;/em&gt;:&amp;nbsp; &lt;/p&gt;
&lt;p&gt;in questo paragrafo descriveremo la storia delle valutazioni effettuate che hanno portato alla decisione di realizzare il prodotto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Opportunit&amp;agrave;&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;per un prodotto da immettere sul mercato in questo paragrafo descriveremo i principali fattori che potrebbero causare il successo delle vendite, nel caso di prodotto commissionato per una specifica azienda descriveremo i vantaggi dell&amp;rsquo;uso del sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Obiettivi e criteri si successo&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;in questo paragrafo descriveremo i vantaggi, in termini statistici e/o numerici, dell&amp;rsquo;adozione del prodotto; per un nuovo portale ad esempio descriveremo l&amp;rsquo;incremento di visite derivante dall&amp;rsquo;adozione del nuovo sistema. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Necessit&amp;agrave; del cliente o del mercato&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;senza entrare nel dettaglio tecnico, descriveremo in questo paragrafo le necessit&amp;agrave; di un tipico cliente o del segmento del mercato in cui si colloca il prodotto, descrivendo ad esempio come il cliente dovrebbe usare il sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Rischi&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;qui descriveremo i potenziali rischi a cui si potrebbe andare incontro durante e dopo lo sviluppo del sistema; ad esempio un radicale cambio di interfaccia potrebbe portare l&amp;rsquo;utente a smettere di utilizzare il nuovo prodotto. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vision della soluzione&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione sar&amp;agrave; descritto il sistema che si andr&amp;agrave; a realizzare per soddisfare gli obiettivi proposti. Non saranno descritti n&amp;eacute; i requisiti funzionali n&amp;eacute; informazioni sulla pianificazione del progetto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Descrizione della soluzione&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;in questo paragrafo sar&amp;agrave; riassunto il sistema che sar&amp;agrave; realizzato e come quest&amp;rsquo;ultimo permette di raggiungere gli obiettivi proposti. Si tratta di una descrizione che deve indicare le seguenti informazioni:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Per&lt;/strong&gt;: clienti target&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;che&lt;/strong&gt;: necessit&amp;agrave; e opportunit&amp;agrave; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;il&lt;/strong&gt;: nome del prodotto&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;egrave;&lt;/strong&gt;: la categoria del prodotto&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;che&lt;/strong&gt;: benefici e/o ragioni che portano all&amp;rsquo;acquisto e/o all&amp;rsquo;utilizzo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;a differenza&lt;/strong&gt;: del sistema esistente o del non utilizzo del nuovo sistema&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;il nostro prodotto&lt;/strong&gt;: principali differenze e vantaggi del nuovo prodotto&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Un esempio potrebbe essere:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Per&lt;/strong&gt; gli utenti &lt;strong&gt;che&lt;/strong&gt; necessitano di emettere fatture e altri documenti in modalit&amp;agrave; differita, &lt;strong&gt;il&lt;/strong&gt; nuovo MDVIN &lt;strong&gt;&amp;egrave;&lt;/strong&gt; un software gestionale &lt;strong&gt;che&lt;/strong&gt; permette una gestione automatizzata di tutti i documenti necessari&amp;nbsp; alla gestione di impresa. &lt;strong&gt;A differenza&lt;/strong&gt; del suo predecessore il &lt;strong&gt;nostro prodotto &lt;/strong&gt;permette di lavorare in modalit&amp;agrave; disconnessa da tutte le postazioni, sincronizzando solo quando necessario o indicato i dati con il server centrale.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Chiaramente sono indicazioni, che permettono di restare sintetici e incisivi sulle informazioni fornite.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Principali caratteristiche&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;In questo paragrafo descriveremo le principali caratteristiche del nuovo prodotto, indicando cosa il nuovo sistema far&amp;agrave;. Le nuove features vanno elencate con un identificativo univoco, in modo da potercisi riferire facilmente. E&amp;rsquo; inoltre possibile fare confronti con prodotti direttamente concorrenti o precedenti versioni del sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Assunzioni e dipendenze&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;Qui &amp;egrave; possibile elencare tutte le assunzioni venute fuori dalle interviste con gli stakeholder, probabilmente diverse o addirittura in contrasto tra di loro. Questo &amp;egrave; il momento per mettere ordine e allineare tutti. E&amp;rsquo; qui inoltre che vengono descritte eventuali dipendenze da altri sistemi o standard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scopo e limitazioni&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione saranno illustrati scopi e limitazioni del nuovo prodotto definendo delle priorit&amp;agrave; per i vari rilasci. Qui indicheremo sostanzialmente cosa il sistema far&amp;agrave; e non far&amp;agrave;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Scopo del primo rilascio&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qui verranno descritte le priorit&amp;agrave; che saranno perseguite per il primo rilascio del software.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Scopo dei rilasci successivi&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;In questo paragrafo verranno descritte le schedulazioni dei vari rilasci fino al raggiungimento di tutti gli obiettivi mediante l&amp;rsquo;implementazione di tutte le caratteristiche.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Limitazioni ed esclusioni &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Questo &amp;egrave; il momento migliore per indicare cosa il sistema non far&amp;agrave; e i limiti del suo utilizzo, indicando eventualmente eventuali predisposizioni a sviluppi futuri.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contesto di analisi&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione viene descritto il contesto in cui ci muoviamo, indicando le categorie di stakeholder intervistati, le priorit&amp;agrave; del progetto e l&amp;rsquo;ambiente in cui il sistema sar&amp;agrave; utilizzato.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Profili degli stakeholder &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In questo paragrafo descriveremo schematicamente le categorie di stakeholder intervistati. Non necessariamente tutti vanno inclusi, solamente i pi&amp;ugrave; indicativi per gli obiettivi del progetto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Priorit&amp;agrave; del progetto &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qui descriveremo le priorit&amp;agrave; funzionali e non funzionali del progetto, bilanciando tempi di sviluppo e obiettivi delle varie release, costi e benefici, considerando le &lt;em&gt;cinque dimensioni di un progetto software&lt;/em&gt;: features, qualit&amp;agrave;, schedulazione, costo e staff. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ambiente operativo &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In questo paragrafo sar&amp;agrave; descritto l&amp;rsquo;ambiente operativo in cui il sistema sar&amp;agrave; utilizzato definendo la disponibilit&amp;agrave;, le performance e l&amp;rsquo;integrit&amp;agrave; richiesta. Queste informazioni influenzeranno sensibilmente l&amp;rsquo;architettura del sistema.&lt;/p&gt;
&lt;p&gt;Naturalmente non tutte le voci potrebbero applicarsi a tutti i progetti ma soprattutto ricordiamoci che tale documento dovr&amp;agrave; essere letto e approvato dagli stakeholder ed essendo un documento preliminare non mettiamoci a scrivere la bibbia del progetto: il documento deve essere sintetico altrimenti nessuno lo legger&amp;agrave; (o diranno di averlo letto ma in verit&amp;agrave; non lo hanno fatto!)&lt;/p&gt;
&lt;h4&gt;Conclusioni&lt;/h4&gt;
&lt;p&gt;Una volta avuta l&amp;rsquo;approvazione dagli stakeholder, dopo le n revisioni del documento, si passa alla realizzazione dei documenti che arriveranno all&amp;rsquo;architetto e da cui comincer&amp;agrave; il suo lavoro! Alla prossima puntata!&lt;/p&gt;</description></item><item><title>Archiettura: tutto comincia dai requisiti!</title><link>http://dotnetcampania.org/wikis/articoli/architettura-tutto-comincia-dai-requisiti/revision/1.aspx</link><pubDate>Sun, 13 Sep 2009 20:43:26 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:45</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 1 posted to Articoli by Michele Aponte on 13/09/2009 22:43:26&lt;br /&gt;
&lt;p&gt;Rieccoci a parlare di architettura e come promesso in questo appuntamento parleremo di requisiti, i famosi requisiti software da cui un architetto comincia il suo lavoro e l&amp;rsquo;analista termina il suo con la loro definizione.&lt;/p&gt;
&lt;h4&gt;Che cos&amp;rsquo;&amp;egrave; un requisito?&lt;/h4&gt;
&lt;p&gt;In accordo con la standardizzazione IEEE un requisito pu&amp;ograve; essere definito come:&lt;/p&gt;
&lt;p&gt;1. Una condizione o capacit&amp;agrave; necessaria ad un utente per risolvere un problema o raggiungere un obiettivo&lt;/p&gt;
&lt;p&gt;2. Una condizione o capacit&amp;agrave; che deve essere posseduta dal sistema o da un componente del sistema per soddisfare un contratto, uno standard, una specifica o altre formalizzazioni.&lt;/p&gt;
&lt;p&gt;3. Una rappresentazione documentata di una condizione o capacit&amp;agrave; che soddisfi i primi due punti&lt;/p&gt;
&lt;p&gt;&lt;a name="28"&gt;&lt;/a&gt;Alla luce di questa definizione, che ci aiuta a formalizzare meglio il concetto abbastanza intuitivo di requisito software, possiamo dunque dire che un requisito &amp;egrave; un una capacit&amp;agrave; che il sistema deve possedere per risolvere un problema dell&amp;rsquo;utente, formalizzata opportunamente e opportunamente documentata.&lt;/p&gt;
&lt;p&gt;Il fatto che un requisito per essere tale debba essere scritto da qualche parte &amp;egrave; una fattore fondamentale: &amp;egrave; l&amp;rsquo;unico modo di renderlo comunicabile efficacemente a chi ha bisogno di conoscerlo!&lt;/p&gt;
&lt;h4&gt;Tipologie di requisiti&lt;/h4&gt;
&lt;p&gt;Secondo la norma ISO 9126 &amp;egrave; possibile raggruppare i requisiti in 6 categorie e 21 sottocategorie, alcune orientate all&amp;rsquo;utente, altre orientate allo sviluppo e manutenzione. Ognuna di queste categorie rappresenta una caratteristica del sistema:&lt;/p&gt;
&lt;h6&gt;&lt;/h6&gt;
&lt;h5&gt;Funzionalit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; del sistema di soddisfare esigenze implicite o esplicite.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Idoneit&amp;agrave;&lt;/em&gt;:esprime l&amp;rsquo;appropriatezza delle funzionalit&amp;agrave; a specifici compiti. &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Accuratezza&lt;/em&gt;: esprime la precisione con cui vengono forniti i risultati. &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Interoperabilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di interagire con altre applicazioni &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sicurezza&lt;/em&gt;: esprime la protezione da utilizzi non autorizzati &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Concordanza&lt;/em&gt;: esprime l&amp;rsquo;aderenza a standard o regolamentazioni legislative &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Disponibilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di fornire continuit&amp;agrave; nel servizio.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Maturit&amp;agrave;&lt;/em&gt;: esprime la mancanza di interruzioni per malfunzionamenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tolleranza&lt;/em&gt;: esprime il degrado delle prestazioni in presenza di malfunzionamenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Recupero&lt;/em&gt;: esprime la capacit&amp;agrave; e la velocit&amp;agrave; di rispristino a seguito di malfunzionamenti &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Usabilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la facilit&amp;agrave; di utilizzo da parte degli utenti.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Comprensione&lt;/em&gt;:&amp;nbsp; esprime la capacit&amp;agrave; di acquisire un adeguato livello di conoscenza del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Apprendimento&lt;/em&gt;: esprime la facilit&amp;agrave; di familiarizzazione del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Utilizzabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di uso e controllo del sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Attrattiva&lt;/em&gt;: esprime il livello di gradimento nell&amp;rsquo;utilizzo del sistema &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Efficienza&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di fornire prestazioni adeguate&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Tempo risposta&lt;/em&gt;: esprime la reattivit&amp;agrave; agli stimoli dell&amp;rsquo;utente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Utilizzo di risorse&lt;/em&gt;: esprime l&amp;rsquo;adeguatezza dell&amp;rsquo;utilizzo delle risorse del sistema &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Manutenibilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la facilit&amp;agrave; di manutenzione correttiva ed evolutiva.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Analizzabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di diagnosi e individuazione dei componenti &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Modificabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di applicazione delle modifiche al sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Stabilit&amp;agrave;&lt;/em&gt;: esprime il grado di introduzione effetti indesiderati a seguito di modifiche al sistema &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Collaudabilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di testare le modifiche effettuate &lt;/li&gt;
&lt;/ol&gt;
&lt;h5&gt;Portabilit&amp;agrave;&lt;/h5&gt;
&lt;p&gt;Esprime la capacit&amp;agrave; di trasferibilit&amp;agrave; da un ambiente ad un altro&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;Adattabilit&amp;agrave;&lt;/em&gt;: esprime la facilit&amp;agrave; di adeguamento ad un nuovo ambiente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Installabilit&amp;agrave;&lt;/em&gt;: esprime la velocit&amp;agrave; e completezza di installazione &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Coesistenza&lt;/em&gt;: esprime la capacit&amp;agrave; di risiedere con altre applicazioni nello stesso ambiente &lt;/li&gt;
&lt;li&gt;&lt;em&gt;Sostituibilit&amp;agrave;&lt;/em&gt;: esprime la capacit&amp;agrave; di rimpiazzare un&amp;rsquo;altra applicazione con simili funzionalit&amp;agrave; &lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;Come si esprimono i requisiti?&lt;/h4&gt;
&lt;p&gt;Una volta capito cos&amp;rsquo;&amp;egrave; un requisito chiediamoci adesso come esprimerli, una volta raccolti, in modo che sia possibile fornire la sopracitata rappresentazione documentata.&lt;/p&gt;
&lt;p&gt;Il primo passo in assoluto da compiere &amp;egrave; essere sicuri che abbiamo circoscritto per bene il sistema e gli unici a darci conferma della nostra corretta interpretazione delle interviste effettuate sono proprio gli intervistati: gli stakeholder! Dobbiamo quindi compilare per loro un documento che non utilizzi formalismi tecnici e che sia capace di descrivere, anche brevemente, quello che secondo noi &amp;egrave; il sistema di cui il cliente ha bisogno. Questo documento ha un nome&amp;hellip;&lt;/p&gt;
&lt;h5&gt;Documento di Vision e Scopo&lt;/h5&gt;
&lt;p&gt;Il documento di Vision e Scopo serve fondamentalmente ad allineare l&amp;rsquo;opinione di tutti gli stakeholder su quello che sar&amp;agrave; fatto e a risolvere i conflitti nati da pareri discordati degli stessi.&lt;/p&gt;
&lt;p&gt;Volendo fornire un template di tale documento, possiamo schematizzarlo nella seguente struttura:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Requisiti di Business&lt;/strong&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In questa sezione vengono descritti i principali benefici del nuovo sistema, con un&amp;rsquo;enfasi diversa a seconda del tipo di prodotto da realizzare.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Premessa&lt;/em&gt;:&amp;nbsp; &lt;/p&gt;
&lt;p&gt;in questo paragrafo descriveremo la storia delle valutazioni effettuate che hanno portato alla decisione di realizzare il prodotto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Opportunit&amp;agrave;&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;per un prodotto da immettere sul mercato in questo paragrafo descriveremo i principali fattori che potrebbero causare il successo delle vendite, nel caso di prodotto commissionato per una specifica azienda descriveremo i vantaggi dell&amp;rsquo;uso del sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Obiettivi e criteri si successo&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;in questo paragrafo descriveremo i vantaggi, in termini statistici e/o numerici, dell&amp;rsquo;adozione del prodotto; per un nuovo portale ad esempio descriveremo l&amp;rsquo;incremento di visite derivante dall&amp;rsquo;adozione del nuovo sistema. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Necessit&amp;agrave; del cliente o del mercato&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;senza entrare nel dettaglio tecnico, descriveremo in questo paragrafo le necessit&amp;agrave; di un tipico cliente o del segmento del mercato in cui si colloca il prodotto, descrivendo ad esempio come il cliente dovrebbe usare il sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Rischi&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;qui descriveremo i potenziali rischi a cui si potrebbe andare incontro durante e dopo lo sviluppo del sistema; ad esempio un radicale cambio di interfaccia potrebbe portare l&amp;rsquo;utente a smettere di utilizzare il nuovo prodotto. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vision della soluzione&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione sar&amp;agrave; descritto il sistema che si andr&amp;agrave; a realizzare per soddisfare gli obiettivi proposti. Non saranno descritti n&amp;eacute; i requisiti funzionali n&amp;eacute; informazioni sulla pianificazione del progetto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Descrizione della soluzione&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;in questo paragrafo sar&amp;agrave; riassunto il sistema che sar&amp;agrave; realizzato e come quest&amp;rsquo;ultimo permette di raggiungere gli obiettivi proposti. Si tratta di una descrizione che deve indicare le seguenti informazioni:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Per&lt;/strong&gt;: clienti target&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;che&lt;/strong&gt;: necessit&amp;agrave; e opportunit&amp;agrave; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;il&lt;/strong&gt;: nome del prodotto&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;egrave;&lt;/strong&gt;: la categoria del prodotto&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;che&lt;/strong&gt;: benefici e/o ragioni che portano all&amp;rsquo;acquisto e/o all&amp;rsquo;utilizzo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;a differenza&lt;/strong&gt;: del sistema esistente o del non utilizzo del nuovo sistema&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;il nostro prodotto&lt;/strong&gt;: principali differenze e vantaggi del nuovo prodotto&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Un esempio potrebbe essere:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Per&lt;/strong&gt; gli utenti &lt;strong&gt;che&lt;/strong&gt; necessitano di emettere fatture e altri documenti in modalit&amp;agrave; differita, &lt;strong&gt;il&lt;/strong&gt; nuovo MDVIN &lt;strong&gt;&amp;egrave;&lt;/strong&gt; un software gestionale &lt;strong&gt;che&lt;/strong&gt; permette una gestione automatizzata di tutti i documenti necessari&amp;nbsp; alla gestione di impresa. &lt;strong&gt;A differenza&lt;/strong&gt; del suo predecessore il &lt;strong&gt;nostro prodotto &lt;/strong&gt;permette di lavorare in modalit&amp;agrave; disconnessa da tutte le postazioni, sincronizzando solo quando necessario o indicato i dati con il server centrale.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Chiaramente sono indicazioni, che permettono di restare sintetici e incisivi sulle informazioni fornite.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Principali caratteristiche&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;In questo paragrafo descriveremo le principali caratteristiche del nuovo prodotto, indicando cosa il nuovo sistema far&amp;agrave;. Le nuove features vanno elencate con un identificativo univoco, in modo da potercisi riferire facilmente. E&amp;rsquo; inoltre possibile fare confronti con prodotti direttamente concorrenti o precedenti versioni del sistema.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Assunzioni e dipendenze&lt;/em&gt;: &lt;/p&gt;
&lt;p&gt;Qui &amp;egrave; possibile elencare tutte le assunzioni venute fuori dalle interviste con gli stakeholder, probabilmente diverse o addirittura in contrasto tra di loro. Questo &amp;egrave; il momento per mettere ordine e allineare tutti. E&amp;rsquo; qui inoltre che vengono descritte eventuali dipendenze da altri sistemi o standard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scopo e limitazioni&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione saranno illustrati scopi e limitazioni del nuovo prodotto definendo delle priorit&amp;agrave; per i vari rilasci. Qui indicheremo sostanzialmente cosa il sistema far&amp;agrave; e non far&amp;agrave;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Scopo del primo rilascio&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qui verranno descritte le priorit&amp;agrave; che saranno perseguite per il primo rilascio del software.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Scopo dei rilasci successivi&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;In questo paragrafo verranno descritte le schedulazioni dei vari rilasci fino al raggiungimento di tutti gli obiettivi mediante l&amp;rsquo;implementazione di tutte le caratteristiche.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Limitazioni ed esclusioni &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Questo &amp;egrave; il momento migliore per indicare cosa il sistema non far&amp;agrave; e i limiti del suo utilizzo, indicando eventualmente eventuali predisposizioni a sviluppi futuri.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Contesto di analisi&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;In questa sezione viene descritto il contesto in cui ci muoviamo, indicando le categorie di stakeholder intervistati, le priorit&amp;agrave; del progetto e l&amp;rsquo;ambiente in cui il sistema sar&amp;agrave; utilizzato.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Profili degli stakeholder &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In questo paragrafo descriveremo schematicamente le categorie di stakeholder intervistati. Non necessariamente tutti vanno inclusi, solamente i pi&amp;ugrave; indicativi per gli obiettivi del progetto.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Priorit&amp;agrave; del progetto &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Qui descriveremo le priorit&amp;agrave; funzionali e non funzionali del progetto, bilanciando tempi di sviluppo e obiettivi delle varie release, costi e benefici, considerando le &lt;em&gt;cinque dimensioni di un progetto software&lt;/em&gt;: features, qualit&amp;agrave;, schedulazione, costo e staff. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Ambiente operativo &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In questo paragrafo sar&amp;agrave; descritto l&amp;rsquo;ambiente operativo in cui il sistema sar&amp;agrave; utilizzato definendo la disponibilit&amp;agrave;, le performance e l&amp;rsquo;integrit&amp;agrave; richiesta. Queste informazioni influenzeranno sensibilmente l&amp;rsquo;architettura del sistema.&lt;/p&gt;
&lt;p&gt;Naturalmente non tutte le voci potrebbero applicarsi a tutti i progetti ma soprattutto ricordiamoci che tale documento dovr&amp;agrave; essere letto e approvato dagli stakeholder ed essendo un documento preliminare non mettiamoci a scrivere la bibbia del progetto: il documento deve essere sintetico altrimenti nessuno lo legger&amp;agrave; (o diranno di averlo letto ma in verit&amp;agrave; non lo hanno fatto!)&lt;/p&gt;
&lt;h4&gt;Conclusioni&lt;/h4&gt;
&lt;p&gt;Una volta avuta l&amp;rsquo;approvazione dagli stakeholder, dopo le n revisioni del documento, si passa alla realizzazione dei documenti che arriveranno all&amp;rsquo;architetto e da cui comincer&amp;agrave; il suo lavoro! Alla prossima puntata!&lt;/p&gt;</description></item><item><title>Uno schedulatore in .Net</title><link>http://dotnetcampania.org/wikis/articoli/uno-schedulatore-in-net/revision/0.aspx</link><pubDate>Tue, 21 Jul 2009 07:56:18 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:15</guid><dc:creator>Alessandro Forte</dc:creator><description>Current revision posted to Articoli by Alessandro Forte on 21/07/2009 09:56:18&lt;br /&gt;
&lt;p&gt;Spesso mi sono trovato ad affrontare problemi &amp;quot;banali e comuni&amp;quot; ma che richiedevano l&amp;#39;utilizzo di &lt;strong&gt;funzioni temporali&lt;/strong&gt;.&lt;br /&gt;Un classico sono i famosi Backup di archivi Access o di comuni files, la possibilit&amp;agrave; di mandare avvisi a cadenza temporale, o l&amp;#39;organizzazione di attivit&amp;agrave; (task) in determinate ore della giornata...&lt;br /&gt;Bene come avrete capito avevo bisogno quindi di uno Scheduler, italianizzato in Schedulatore.&lt;br /&gt;Per definizione uno lo&amp;nbsp;&lt;strong&gt;scheduler&lt;/strong&gt;&amp;nbsp;&amp;egrave; un componente fondamentale dei&amp;nbsp;sistemi operativi&amp;nbsp;multitasking, cio&amp;egrave; quelli in grado di eseguire pi&amp;ugrave; processi (&lt;i&gt;task&lt;/i&gt;) concorrentemente.&amp;nbsp;&lt;br /&gt;Nel nostro caso possiamo semplicemente affermare che uno scheduler &amp;egrave; un componente in grado di eseguire pi&amp;ugrave; processi (task) concorrentemente e in tempi prefissati.&lt;br /&gt;La prima domanda che sorge spontanea &amp;egrave; : &lt;i&gt;&amp;quot;Esistono schedulators gratuiti o rilasciati in open source, tali da poter essere inclusi nei nostri progetti .Net?&amp;quot;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;La risposta &amp;egrave; : &lt;strong&gt;QUARTZ &lt;/strong&gt;(che sottende il SI ed il nome del componente che ci risolve il problema [:D]&amp;nbsp;)&lt;/p&gt;
&lt;p&gt;Come cita direttamente il sito :&lt;br /&gt;Quartz.NET is a port of very propular open source Java job scheduling framework,&amp;nbsp;Quartz	. This project owes very much to original Java project, it&amp;#39;s father James House and the project contributors.&amp;nbsp;&lt;br /&gt;E&amp;#39; quindi un sistema &amp;quot;portato&amp;quot; da java (come il fantastico Log4Net) che offre una piattaforma di job scheduling.&lt;br /&gt;Sempre il sito si promette di utilizzare il sistema in :&amp;nbsp;Quartz.NET is a full-featured, open source job scheduling system that can be used &lt;span style="text-decoration:underline;"&gt;from smallest apps to large scale enterprise systems&lt;/span&gt;.&lt;br /&gt;L&amp;#39;ho utilizzato (e conosciuto grazie ad un collega [Maurizio ndr]) e mi sento di affermare che quanto dice &amp;egrave; sicuramente vero.&lt;/p&gt;
&lt;p&gt;Il sistema in s&amp;egrave; &amp;egrave; molto facile da utilizzare grazie all&amp;#39;apposita sezione di &lt;a href="http://quartznet.sourceforge.net/tutorial/index.html"&gt;tutorials&lt;/a&gt;&amp;nbsp;messi a disposizione dalla comunit&amp;agrave; di Quartz.&lt;br /&gt;&lt;br /&gt;Nel prossimo articolo entrer&amp;ograve; nel dettaglio di come implementare una soluzione completa utilizzando Quartz come framework di base per il job scheduling.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt;&amp;nbsp;See u in the next episode&amp;nbsp;&lt;img src="http://dotnetcampania.org/emoticons/emotion-55.gif" alt="Idea" /&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Hello Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/0.aspx</link><pubDate>Sun, 19 Jul 2009 15:33:27 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:13</guid><dc:creator>Liccardi Antonio</dc:creator><description>Current revision posted to Articoli by Liccardi Antonio on 19/07/2009 17:33:27&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;windows&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mobile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;first&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;app&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;span style="color:red;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Chiedo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;venia&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ci&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alcuni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;problemi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tecnici&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ho&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dovuto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;togliere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;momentaneamente&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;
&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:350px;" width="550" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Sotto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;trovate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;slides&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; il &lt;span style="text-decoration: line-through; color: red;"&gt;webcast&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Quanto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;prima&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ripristiner&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;ograve;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sorgente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; il &lt;span style="text-decoration: line-through; color: red;"&gt;tutto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;filmato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;qualit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Slides&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Code&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Video&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;HQ&lt;/span&gt; (&lt;span style="text-decoration: line-through; color: red;"&gt;promesso...)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;circa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;170mb)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Hello Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/7.aspx</link><pubDate>Thu, 16 Jul 2009 16:25:19 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:43</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 7 posted to Articoli by Liccardi Antonio on 16/07/2009 18:25:19&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;!--&lt;/span&gt;
&lt;p&gt;



&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" mce_src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:350px;" width="550" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sotto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;trovate&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;slides&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;codice&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sorgente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;filmato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;qualit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Slides&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Code&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Video&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;HQ&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;circa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;170mb)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/span&gt;&lt;/p&gt;
&lt;span style="text-decoration: line-through; color: red;"&gt;-&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;-&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;b&gt;&lt;span style="color:red;"&gt;Chiedo venia ma ci sono alcuni problemi tecnici e ho dovuto togliere momentaneamente il webcast. Quanto prima ripristiner&amp;ograve; il tutto (promesso...)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description></item><item><title>Hello Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/6.aspx</link><pubDate>Thu, 16 Jul 2009 16:24:27 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:42</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 6 posted to Articoli by Liccardi Antonio on 16/07/2009 18:24:27&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;span style="background: SpringGreen;"&gt;&amp;lt;!--&lt;/span&gt;
&lt;p&gt;



&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" mce_src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:350px;" width="550" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/p&gt;
&lt;p&gt;Code: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/p&gt;
&lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;-&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&lt;/span&gt;
&lt;p&gt;
&lt;b&gt;&lt;span style="color:red;"&gt;&lt;span style="background: SpringGreen;"&gt;Chiedo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;venia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alcuni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;problemi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tecnici&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ho&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dovuto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;togliere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;momentaneamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;webcast&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Quanto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prima&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ripristiner&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;promesso...)&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;</description></item><item><title>Hello Windows Mobile</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/5.aspx</link><pubDate>Mon, 13 Jul 2009 21:09:17 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:41</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 5 posted to Articoli by Liccardi Antonio on 13/07/2009 23:09:17&lt;br /&gt;
&lt;h2&gt;Hello Windows &lt;span style="text-decoration: line-through; color: red;"&gt;Mobile2&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Mobile&lt;/span&gt;&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;p&gt;
&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:350px;" width="550" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/p&gt;
&lt;p&gt;Code: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/p&gt;</description></item><item><title>Hello Windows Mobile2</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/4.aspx</link><pubDate>Mon, 13 Jul 2009 21:01:18 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:35</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 4 posted to Articoli by Liccardi Antonio on 13/07/2009 23:01:18&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile2&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;p&gt;
&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:350px;" width="550" frameborder="0" height="350"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/p&gt;
&lt;p&gt;Code: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/p&gt;</description></item><item><title>Hello Windows Mobile2</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/3.aspx</link><pubDate>Mon, 13 Jul 2009 20:59:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:34</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 3 posted to Articoli by Liccardi Antonio on 13/07/2009 22:59:50&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile2&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&lt;/p&gt;
&lt;p&gt;Enjoy it!&lt;/p&gt;
&lt;p&gt;
&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:320px;" width="550" frameborder="0" height="320"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/p&gt;
&lt;p&gt;Code: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/p&gt;</description></item><item><title>Hello Windows Mobile2</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/2.aspx</link><pubDate>Mon, 13 Jul 2009 20:59:10 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:33</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 2 posted to Articoli by Liccardi Antonio on 13/07/2009 22:59:10&lt;br /&gt;
&lt;h2&gt;Hello Windows Mobile2&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.&amp;nbsp; &lt;br /&gt;Enjoy it!

&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:320px;" width="550" frameborder="0" height="320"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/HelloWindowsMobile.ppsx]&lt;/p&gt;
&lt;p&gt;Code: [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/MyHelloWorld.zip]&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): [View:http://dotnetcampania.org/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.21.04/1_5F00_HelloWindowsMobile.rar]&lt;/p&gt;</description></item><item><title>Hello Windows Mobile2</title><link>http://dotnetcampania.org/wikis/articoli/hello-windows-mobile/revision/1.aspx</link><pubDate>Mon, 13 Jul 2009 20:58:41 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:32</guid><dc:creator>Liccardi Antonio</dc:creator><description>Revision 1 posted to Articoli by Liccardi Antonio on 13/07/2009 22:58:41&lt;br /&gt;
&lt;p&gt;Dopo circa 2 settimane di problemi tecnici incontrati (pc da formattare, problemi con camstudio, problemi con movie maker, problemi con community server...) sono riuscito finalmente a postare il primo webcast sulla programmazione in Windows Mobile.

In questo webcast illustrer&amp;ograve; come preparare la propria macchina per lo sviluppo di applicazioni per WM, e far&amp;ograve; un semplice esempio di prima applicazione.

Mi auguro che sia di vostro gradimento, per qualsiasi informazione o dubbio non esitate a postare.

Enjoy it!

&lt;iframe marginwidth="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" style="width:550px;height:320px;" width="550" frameborder="0" height="320"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Sotto trovate le slides, il codice sorgente e il filmato in alta qualit&amp;agrave;.&lt;/p&gt;
&lt;p&gt;Slides: (Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Code: (Please visit the site to view this media)&lt;/p&gt;
&lt;p&gt;Video HQ (circa 170mb): (Please visit the site to view this media)&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/0.aspx</link><pubDate>Wed, 15 Jul 2009 20:42:17 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:14</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 15/07/2009 22:42:17&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Certificazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Esame&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;70-536&lt;/span&gt;&lt;/div&gt;

&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;Come molti di voi sapranno la programmazione ad oggetti&amp;nbsp;&amp;egrave; un paradigma di programmazione adottato dalla stragrande maggioranza dei programmatori a partire dagli anni &amp;#39;90, anni in cui si &amp;egrave; cominciato ad abbandonare il paradigma procedurale in cui la definizione dei tipi di dato vedeva separate la struttura del dato dalle procedure che operavano su di esse. A un certo punto si &amp;egrave; giustamente pensato: ma se un&amp;#39;entit&amp;agrave; &amp;egrave;&amp;nbsp;caratterizzata da un insieme di informazioni e dalle operazioni che posso realizzare su di esse perch&amp;egrave; la loro definizione deve essere separata? Ed ecco a voi nascere il concetto di classe che insieme alle 3 caratteristiche principali della OOP definisce questo nuovo modo di concepire l&amp;#39;organizzazione della soluzione algoritmica ad un problema dato.&lt;/p&gt;
&lt;h3&gt;INCAPSULAMENTO&lt;/h3&gt;
&lt;p&gt;Come detto tutto ruota intorno al concetto di classe, che possiamo vedere come il costrutto offerto dal linguaggio per realizzare l&amp;#39;astrazione del concetto di oggetto. In pratica il trucco sta nell&amp;#39;affrontare il problema da risolvere modellandolo come un sistema in cui esistono e vivono un insieme di oggeti che comunicano tra di loro attraverso un&amp;#39;interfaccia bene definita: i&amp;nbsp;METODI della classe! La struttura del dato incapsulato nell&amp;#39;oggetto &amp;egrave; invece definita da quelli che vengono chiamati ATTRIBUTI. Una classe &amp;egrave; quindi costituita da attributi e metodi, che insieme definiscono un nuovo tipo di dato per l&amp;#39;ambiente in cui vengono definiti. Un oggetto &amp;egrave; un&amp;#39;istanza di una data classe.&lt;/p&gt;
&lt;p&gt;Due oggetti, istanza di una certa classe, possono differire in un certo istante di tempo per il valore che in quell&amp;#39;istante hanno i suoi attributi, che nel loro insieme definiscono lo STATO dell&amp;#39;oggetto. Il concetto di stato di un oggetto &amp;egrave; di fondamentale importanza perch&amp;egrave; su di esso di basa uno dei tre principi fondamentali dalla OOP: l&amp;#39;INFORMATION HIDING&amp;nbsp;o INCAPSULAMENTO secondo il quale l&amp;#39;unico modo attraverso cui debba essere possibile modificare tale stato dovrebbe essere l&amp;#39;utilizzo dei metodi della classe. Tecnicamente questo &amp;egrave; possibile grazie all&amp;#39;utilizzo di indicatori di visibilit&amp;agrave; per gli attributi che dovrebbero negarne l&amp;#39;accesso all&amp;#39;utilizzatore della classe. Quindi gli oggetti del sistema comunicano tra di loro attraverso messaggi scambiati grazie all&amp;#39;invocazione dei metodi alterandone lo stato.&lt;/p&gt;
&lt;p&gt;In .NET &amp;egrave; possibile realizzare una classe utilizzando il costrutto Class in Visual Basic&amp;nbsp;e class in C#, &amp;egrave; possibile definire gli attributi dichiarando all&amp;#39;interno delle classi delle variabili del tipo voluto, &amp;egrave; possible definire i metodi definendo delle Sub o delle Function in Visual Basic, definendo delle funzioni in C#. Sia per gli attributi che per i metodi e possibile indicare la visibilit&amp;agrave; che essi devono avere rispetto agli utilizzatori delle classi, gli indicatori possibili sono tre: privato, publico o protetto. Nel primo classe la visibilit&amp;agrave; &amp;egrave; consentita solo all&amp;#39;interno della classe, nel secondo caso e consentita anche agli utilizzatori, nel terzo caso solo alla classe e alle classi che la estendono, concetto quest&amp;#39;ultimo che affronteremo tra poco. In Visual Basic si utilizzano le parole riservate Private, Public e Protected, in C# private, public e protected:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come potete notare esiste un metodo speciale nella definizione di una classe, chiamato costruttore, che viene automaticamente invocato all&amp;#39;atto dell&amp;#39;istanziazione di una classe: in questo metodo, che in Visual Basic viene identificato dalla Sub New, mentre in C# &amp;egrave; un metodo che ha lo stesso nome della classe e non ha valore di ritorno, possiamo eseguire l&amp;#39;inizializzazione dello stato dell&amp;#39;oggetto.&lt;/p&gt;
&lt;h3&gt;EREDITARIETA&amp;#39;&lt;/h3&gt;
&lt;p&gt;La seconda caratteristica principale della OOP &amp;egrave; l&amp;#39;ereditariet&amp;agrave;, caratteristica che permette di estendere una classe esistente aggiungogli funzionalit&amp;agrave; che non prevedeva, quindi sono non diversamente indicato dal programmatore della classe (con appositi costrutti) &amp;egrave; possibile prendere una classe esistente ed estenderla fornendo funzionalit&amp;agrave; che la classe base non aveva. Consideriamo ad esempio il classico esempio degli utenti di un sistema: un cliente o un fornitore potrebbe essere un utente del sistema quindi anzich&amp;egrave; replicare nelle classi fornitore e cliente le funzionalit&amp;agrave; specifiche e comuni degli utenti possiamo definire le classi cliente e fornitore come specializzazioni della classe utente:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come potete osservare nei due costruttori abbiamo valorizzato l&amp;#39;attributo protetto _denominazione, la cui visibilit&amp;agrave; ci &amp;egrave; consentita dalla dichiarazione come protected dell&amp;#39;attributo. Questa caratteristica&amp;nbsp;permette il riuso del codice esistente in utente il ch&amp;egrave; &amp;egrave; un bel vantaggio gi&amp;agrave; di per se, ma l&amp;#39;ereditariet&amp;agrave; mostra le sue vere potenzialit&amp;agrave; quando viene usata come forma di polimorfismo...&lt;/p&gt;
&lt;h3&gt;POLIMORFISMO&lt;/h3&gt;
&lt;p&gt;E veniamo all&amp;#39;ultima, non per importanza, delle tre caratteristiche fondamentali della OOP, il polimorfismo, ovvero, come ci sugegrisce il nome stesso, la capacit&amp;agrave; di un oggetto di assumere pi&amp;ugrave; forme. Penso che il modo migliore di spiegare questo concetto sia attraverso un esempio. Riprendiamo le classi Utente, Cliente e Fornitore e supponiamo che in Utente esista un metodo che&amp;nbsp;ritorni la propria denominazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Consideriamo il seguente listato:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;quale sar&amp;agrave; l&amp;#39;output prodotto? Lanciamo...ed ecco il risultato:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorpresi? Spero di no: Nonostante siano tutti definiti come utenti, la classe concreta di ogni istanza &amp;egrave; diversa. &lt;/p&gt;
&lt;p&gt;Facciamo un passo in pi&amp;ugrave;...ridefiniamo il metodo ChiSono() nella classe Cliente e Fornitore:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rilanciano il listato precedente, il risultato questa volta &amp;egrave;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Questa volta il meccanismo del polimorfismo invoca il metodo della classe concreta anzich&amp;egrave; quella del tipo della variabile fornendo il risultato illustrato. Come potete notare &amp;egrave; necessario marcare i metodi come sovrascrivibili (Overridable in Visual Basic, virtual in C#) per poter ottenere questo effetto. Questo tipo di polimorfimo ha un nome &amp;egrave; si chiama OVERRIDE, da non confondere con una seconda forma di polimorfismo molto interessante che si chiama OVERLOAD che permette di avere all&amp;#39;interno della stessa classe o in classi della stessa catena di ereditariet&amp;agrave; metodi con lo stesso nome ma con numero e/o tipo di parametri diversi:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il listato:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_10C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_10C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_10VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_10VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;comporta il seguente risultato:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_3.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_3.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Molto probabilmente non riuscirete subito a cogliere le potenzialit&amp;agrave; di questo meccanismo e non mi illudo di riuscire a farlo: vedremo nel corso di questi articoli come questa caratteristica della OOP abbia reso possibile la realizzazione di molti meccanismi dei moderni framework di sviluppo.&lt;/p&gt;
&lt;h3&gt;Il contributo di Microsoft alla OOP&lt;/h3&gt;
&lt;p&gt;A questi meccanismi ormai consolidati e supportati da tutti i linguaggi ad oggetti, Microsoft ha aggiunto &amp;nbsp;due nuovi concetti: le&amp;nbsp;PROPERTIES e le CLASSI PARTIAL.&lt;/p&gt;
&lt;p&gt;Volendo mantenere l&amp;#39;incapsulamento ma permettere ad una classe di esporre i proprio attributi in maniere &amp;quot;sicura&amp;quot; potendone controllare l&amp;#39;accesso, basta creare due metodi, spesso chiamati getter e setter, pubblici all&amp;#39;interno dei quali gli attributi possono essere restituiti o impostati:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dato che questa esigenza &amp;egrave; molto comune nello sviluppo software la Microsoft ha pensato di introdurre il concetto di property: un ibrido tra attributo e metodo che rendesse palese ed elegante l&amp;#39;implementazione dei getter e dei setter:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;L&amp;#39;accesso a questi metodi avviene come se fossero degli attributi pubblici:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le classi partial invece sono un sistema che permette di definire una classe in pi&amp;ugrave; file. Grazie a questo meccanismo, che si implementa semplicemente anteponendo la parola chiave Partial in Visual Basic, &amp;nbsp;partial in C#,&amp;nbsp;al nome della classe nella sua definizione,&amp;nbsp;viene risolto un problema molto sentito dai programmatori che si avvalgono di strumenti di sviluppo RAD come Visual Studio in cui alcune parti delcodice vengono generate dal tool: le eventuali aggiunte al codice generato possono essere fatte in un file separato, in questo modo eventuali aggirnamenti del codice da parte del tool a seguito di modifiche non sovrascriveranno le aggiunte fatte dal programmatore che si trovano in un file separato.&lt;/p&gt;
&lt;h3&gt;Conclusioni&lt;/h3&gt;
&lt;p&gt;Penso che per oggi possa bastare, abbiamo messo molta carne a cuocere, appuntamento al prossimo articolo in cui parleremo di interfacce, classi astratte e classi generiche.&lt;/p&gt;
&lt;p&gt;Happy Coding.&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/5.aspx</link><pubDate>Wed, 15 Jul 2009 20:38:44 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:40</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 5 posted to Articoli by Michele Aponte on 15/07/2009 22:38:44&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;Come molti di voi sapranno la programmazione ad oggetti&amp;nbsp;&amp;egrave; un paradigma di programmazione adottato dalla stragrande maggioranza dei programmatori a partire dagli anni &amp;#39;90, anni in cui si &amp;egrave; cominciato ad abbandonare il paradigma procedurale in cui la definizione dei tipi di dato vedeva separate la struttura del dato dalle procedure che operavano su di esse. A un certo punto si &amp;egrave; giustamente pensato: ma se un&amp;#39;entit&amp;agrave; &amp;egrave;&amp;nbsp;caratterizzata da un insieme di informazioni e dalle operazioni che posso realizzare su di esse perch&amp;egrave; la loro definizione deve essere separata? Ed ecco a voi nascere il concetto di classe che insieme alle 3 caratteristiche principali della OOP definisce questo nuovo modo di concepire l&amp;#39;organizzazione della soluzione algoritmica ad un problema dato.&lt;/p&gt;
&lt;h3&gt;INCAPSULAMENTO&lt;/h3&gt;
&lt;p&gt;Come detto tutto ruota intorno al concetto di classe, che possiamo vedere come il costrutto offerto dal linguaggio per realizzare l&amp;#39;astrazione del concetto di oggetto. In pratica il trucco sta nell&amp;#39;affrontare il problema da risolvere modellandolo come un sistema in cui esistono e vivono un insieme di oggeti che comunicano tra di loro attraverso un&amp;#39;interfaccia bene definita: i&amp;nbsp;METODI della classe! La struttura del dato incapsulato nell&amp;#39;oggetto &amp;egrave; invece definita da quelli che vengono chiamati ATTRIBUTI. Una classe &amp;egrave; quindi costituita da attributi e metodi, che insieme definiscono un nuovo tipo di dato per l&amp;#39;ambiente in cui vengono definiti. Un oggetto &amp;egrave; un&amp;#39;istanza di una data classe.&lt;/p&gt;
&lt;p&gt;Due oggetti, istanza di una certa classe, possono differire in un certo istante di tempo per il valore che in quell&amp;#39;istante hanno i suoi attributi, che nel loro insieme definiscono lo STATO dell&amp;#39;oggetto. Il concetto di stato di un oggetto &amp;egrave; di fondamentale importanza perch&amp;egrave; su di esso di basa uno dei tre principi fondamentali dalla OOP: l&amp;#39;INFORMATION HIDING&amp;nbsp;o INCAPSULAMENTO secondo il quale l&amp;#39;unico modo attraverso cui debba essere possibile modificare tale stato dovrebbe essere l&amp;#39;utilizzo dei metodi della classe. Tecnicamente questo &amp;egrave; possibile grazie all&amp;#39;utilizzo di indicatori di visibilit&amp;agrave; per gli attributi che dovrebbero negarne l&amp;#39;accesso all&amp;#39;utilizzatore della classe. Quindi gli oggetti del sistema comunicano tra di loro attraverso messaggi scambiati grazie all&amp;#39;invocazione dei metodi alterandone lo stato.&lt;/p&gt;
&lt;p&gt;In .NET &amp;egrave; possibile realizzare una classe utilizzando il costrutto Class in Visual Basic&amp;nbsp;e class in C#, &amp;egrave; possibile definire gli attributi dichiarando all&amp;#39;interno delle classi delle variabili del tipo voluto, &amp;egrave; possible definire i metodi definendo delle Sub o delle Function in Visual Basic, definendo delle funzioni in C#. Sia per gli attributi che per i metodi e possibile indicare la visibilit&amp;agrave; che essi devono avere rispetto agli utilizzatori delle classi, gli indicatori possibili sono tre: privato, publico o protetto. Nel primo classe la visibilit&amp;agrave; &amp;egrave; consentita solo all&amp;#39;interno della classe, nel secondo caso e consentita anche agli utilizzatori, nel terzo caso solo alla classe e alle classi che la estendono, concetto quest&amp;#39;ultimo che affronteremo tra poco. In Visual Basic si utilizzano le parole riservate Private, Public e Protected, in C# private, public e protected:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come potete notare esiste un metodo speciale nella definizione di una classe, chiamato costruttore, che viene automaticamente invocato all&amp;#39;atto dell&amp;#39;istanziazione di una classe: in questo metodo, che in Visual Basic viene identificato dalla Sub New, mentre in C# &amp;egrave; un metodo che ha lo stesso nome della classe e non ha valore di ritorno, possiamo eseguire l&amp;#39;inizializzazione dello stato dell&amp;#39;oggetto.&lt;/p&gt;
&lt;h3&gt;EREDITARIETA&amp;#39;&lt;/h3&gt;
&lt;p&gt;La seconda caratteristica principale della OOP &amp;egrave; l&amp;#39;ereditariet&amp;agrave;, caratteristica che permette di estendere una classe esistente aggiungogli funzionalit&amp;agrave; che non prevedeva, quindi sono non diversamente indicato dal programmatore della classe (con appositi costrutti) &amp;egrave; possibile prendere una classe esistente ed estenderla fornendo funzionalit&amp;agrave; che la classe base non aveva. Consideriamo ad esempio il classico esempio degli utenti di un sistema: un cliente o un fornitore potrebbe essere un utente del sistema quindi anzich&amp;egrave; replicare nelle classi fornitore e cliente le funzionalit&amp;agrave; specifiche e comuni degli utenti possiamo definire le classi cliente e fornitore come specializzazioni della classe utente:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_2VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Come potete osservare nei due costruttori abbiamo valorizzato l&amp;#39;attributo protetto _denominazione, la cui visibilit&amp;agrave; ci &amp;egrave; consentita dalla dichiarazione come protected dell&amp;#39;attributo. Questa caratteristica&amp;nbsp;permette il riuso del codice esistente in utente il ch&amp;egrave; &amp;egrave; un bel vantaggio gi&amp;agrave; di per se, ma l&amp;#39;ereditariet&amp;agrave; mostra le sue vere potenzialit&amp;agrave; quando viene usata come forma di polimorfismo...&lt;/p&gt;
&lt;h3&gt;POLIMORFISMO&lt;/h3&gt;
&lt;p&gt;E veniamo all&amp;#39;ultima, non per importanza, delle tre caratteristiche fondamentali della OOP, il polimorfismo, ovvero, come ci sugegrisce il nome stesso, la capacit&amp;agrave; di un oggetto di assumere pi&amp;ugrave; forme. Penso che il modo migliore di spiegare questo concetto sia attraverso un esempio. Riprendiamo le classi Utente, Cliente e Fornitore e supponiamo che in &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt; esista un metodo che&amp;nbsp;ritorni la propria denominazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C.jpg"&gt;&lt;/a&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C2.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3C2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB2.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_3VB2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Consideriamo il seguente listato:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_9VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;quale sar&amp;agrave; l&amp;#39;output prodotto? Lanciamo...ed ecco il risultato:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sorpresi? Spero di no: Nonostante siano tutti definiti come utenti, la classe concreta di ogni istanza &amp;egrave; diversa. &lt;/p&gt;
&lt;p&gt;Facciamo un passo in pi&amp;ugrave;...ridefiniamo il metodo ChiSono() nella classe Cliente e Fornitore:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_4VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Rilanciano il listato precedente, il risultato questa volta &amp;egrave;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Questa volta il meccanismo del polimorfismo invoca il metodo della classe concreta anzich&amp;egrave; quella del tipo della variabile fornendo il risultato illustrato. Come potete notare &amp;egrave; necessario marcare i metodi come sovrascrivibili (Overridable in Visual Basic, virtual in C#) per poter ottenere questo effetto. Questo tipo di polimorfimo ha un nome &amp;egrave; si chiama OVERRIDE, da non confondere con una seconda forma di polimorfismo molto interessante che si chiama OVERLOAD che permette di avere all&amp;#39;interno della stessa classe o in classi della stessa catena di ereditariet&amp;agrave; metodi con lo stesso nome ma con numero e/o tipo di parametri diversi:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_5VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Il listato:&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;comporta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seguente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_3.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_3.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Molto probabilmente non riuscirete subito a cogliere le potenzialit&amp;agrave; di questo meccanismo e non mi illudo di riuscire a farlo: vedremo nel corso di questi articoli come questa caratteristica della OOP abbia reso possibile la realizzazione di molti meccanismi dei moderni framework di sviluppo.&lt;/p&gt;
&lt;h3&gt;Il contributo di Microsoft alla OOP&lt;/h3&gt;
&lt;p&gt;A questi meccanismi ormai consolidati e supportati da tutti i linguaggi ad oggetti, Microsoft ha aggiunto &amp;nbsp;due nuovi concetti: le&amp;nbsp;PROPERTIES e le CLASSI PARTIAL.&lt;/p&gt;
&lt;p&gt;Volendo mantenere l&amp;#39;incapsulamento ma permettere ad una classe di esporre i proprio attributi in maniere &amp;quot;sicura&amp;quot; potendone controllare l&amp;#39;accesso, basta creare due metodi, spesso chiamati getter e setter, pubblici all&amp;#39;interno dei quali gli attributi possono essere restituiti o impostati:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_6VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dato che questa esigenza &amp;egrave; molto comune nello sviluppo software la Microsoft ha pensato di introdurre il concetto di property: un ibrido tra attributo e metodo che rendesse palese ed elegante l&amp;#39;implementazione dei getter e dei setter:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_7VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;L&amp;#39;accesso a questi metodi avviene come se fossero degli attributi pubblici:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_8VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le classi partial invece sono un sistema che permette di definire una classe in pi&amp;ugrave; file. Grazie a questo meccanismo, che si implementa semplicemente anteponendo la parola chiave Partial in Visual Basic, &amp;nbsp;partial in C#,&amp;nbsp;al nome della classe nella sua definizione,&amp;nbsp;viene risolto un problema molto sentito dai programmatori che si avvalgono di strumenti di sviluppo RAD come Visual Studio in cui alcune parti delcodice vengono generate dal tool: le eventuali aggiunte al codice generato possono essere fatte in un file separato, in questo modo eventuali aggirnamenti del codice da parte del tool a seguito di modifiche non sovrascriveranno le aggiunte fatte dal programmatore che si trovano in un file separato.&lt;/p&gt;
&lt;h3&gt;Conclusioni&lt;/h3&gt;
&lt;p&gt;Penso che per oggi possa bastare, abbiamo messo molta carne a cuocere, appuntamento al prossimo articolo in cui parleremo di interfacce, classi astratte e classi generiche.&lt;/p&gt;
&lt;p&gt;Happy Coding.&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/4.aspx</link><pubDate>Wed, 15 Jul 2009 19:54:02 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:39</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 4 posted to Articoli by Michele Aponte on 15/07/2009 21:54:02&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;voi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sapranno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetti&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;paradigma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;adottato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stragrande&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;maggioranza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;partire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dagli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;90&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cominciato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbandonare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;paradigma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;procedurale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vedeva&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;struttura&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;procedure&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;operavano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;su&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esse&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;A&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;certo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;punto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;giustamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pensato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;se&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;entit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&amp;nbsp;caratterizzata&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;insieme&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;informazioni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;operazioni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;posso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;realizzare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;su&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esse&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;perch&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;loro&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;deve&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separata&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ecco&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;voi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nascere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;insieme&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;3&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;principali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definisce&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nuovo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concepire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;organizzazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;soluzione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;algoritmica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;problema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;INCAPSULAMENTO&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;detto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ruota&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;intorno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vedere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costrutto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;offerto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;linguaggio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;realizzare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;astrazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;In&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pratica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;trucco&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;affrontare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;problema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risolvere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modellandolo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vivono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;insieme&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggeti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comunicano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;loro&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attraverso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interfaccia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;bene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definita&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;METODI&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;!&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;La&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;struttura&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;incapsulato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invece&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quelli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vengono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiamati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ATTRIBUTI&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costituita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;insieme&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definiscono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nuovo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ambiente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vengono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definiti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;istanza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;data&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;istanza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;certa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;differire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;certo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;istante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tempo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;istante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;hanno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;suoi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;loro&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;insieme&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definiscono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;STATO&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fondamentale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;importanza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;perch&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;su&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;basa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;uno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;principi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fondamentali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;INFORMATION&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;HIDING&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;INCAPSULAMENTO&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;secondo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;unico&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attraverso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;debba&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modificare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dovrebbe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;utilizzo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Tecnicamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;grazie&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;utilizzo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;indicatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;visibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dovrebbero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;negarne&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;accesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;utilizzatore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comunicano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;loro&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attraverso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;messaggi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;scambiati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;grazie&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;invocazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alterandone&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;In&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;NET&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;realizzare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utilizzando&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costrutto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dichiarando&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;variabili&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;voluto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possible&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzioni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Sia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;indicare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;visibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;devono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;rispetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;agli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utilizzatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;indicatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibili&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tre&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;privato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;publico&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;primo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;visibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consentita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;solo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;secondo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consentita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;agli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utilizzatori&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;terzo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;solo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;estendono&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quest&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ultimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;affronteremo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;poco&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;In&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utilizzano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parole&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riservate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Private&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Protected&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;private&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protected&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1C.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/listato3_5F00_1VB.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;notare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esiste&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;speciale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiamato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costruttore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;automaticamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invocato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;atto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;istanziazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;identificato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mentre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ritorno&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eseguire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;inizializzazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dello&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;EREDITARIETA&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;La&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seconda&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;principale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;estendere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiungogli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prevedeva&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;indicato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;appositi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costrutti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prendere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;estenderla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;base&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aveva&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Consideriamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classico&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potrebbe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anzich&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;replicare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nelle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;specifiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comuni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;specializzazioni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;osservare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costruttori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valorizzato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;visibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consentita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dichiarazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protected&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ch&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;bel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vantaggio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;se&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mostra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sue&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potenzialit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quando&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;usata&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo..&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;POLIMORFISMO&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;E&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;veniamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ultima&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;importanza&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fondamentali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ovvero&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sugegrisce&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;capacit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;assumere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forme&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Penso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;migliore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;spiegare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attraverso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Riprendiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;supponiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esista&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;ritorni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;propria&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Consideriamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seguente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;quale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prodotto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Lanciamo...ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ecco&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Sorpresi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Spero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;no&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Nonostante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;siano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definiti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concreta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ogni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;istanza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversa&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Facciamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;passo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;...ridefiniamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Rilanciano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;precedente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;volta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;volta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invoca&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concreta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anzich&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;variabile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;illustrato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;notare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;necessario&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;marcare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sovrascrivibili&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Overridable&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;virtual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;poter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ottenere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;effetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiama&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OVERRIDE&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;confondere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seconda&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;interessante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiama&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OVERLOAD&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stessa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stessa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;catena&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;numero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e/o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parametri&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;probabilmente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuscirete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;subito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cogliere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potenzialit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;illudo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuscire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;farlo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vedremo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;corso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;articoli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;reso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;realizzazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;moderni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;framework&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;Il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;contributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;A&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ormai&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consolidati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;supportati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;linguaggi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunto&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nuovi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;PROPERTIES&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;CLASSI&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;PARTIAL&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Volendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mantenere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;incapsulamento&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permettere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esporre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;proprio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;maniere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;quot;sicura&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potendone&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;controllare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;accesso&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;basta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;creare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;spesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiamati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;getter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;setter&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pubblici&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;restituiti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;impostati&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esigenza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comune&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nello&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;software&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pensato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;introdurre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;property&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ibrido&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;rendesse&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;palese&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;elegante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;implementazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;getter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;setter&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;accesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avviene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;se&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fossero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pubblici&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;Le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invece&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Grazie&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;implementa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;semplicemente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anteponendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parola&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiave&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sua&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risolto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;problema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sentito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dai&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avvalgono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;strumenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;RAD&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Studio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alcune&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delcodice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vengono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tool&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eventuali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fatte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eventuali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggirnamenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tool&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seguito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modifiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sovrascriveranno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fatte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;trovano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;Conclusioni&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Penso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;bastare&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;messo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;carne&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cuocere&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;appuntamento&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prossimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;articolo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parleremo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;interfacce&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;astratte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generiche&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Happy&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Coding&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/3.aspx</link><pubDate>Tue, 14 Jul 2009 23:01:55 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:38</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 3 posted to Articoli by Michele Aponte on 15/07/2009 01:01:55&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;voi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sapranno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetti&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;paradigma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;adottato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stragrande&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;maggioranza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmatori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;partire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dagli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;90&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cominciato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;abbandonare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;paradigma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;procedurale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definizione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vedeva&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;separate&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;struttura&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;procedure&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;operavano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;su&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esse&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;A&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;certo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;punto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;giustamente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pensato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;se&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;entit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&amp;nbsp;caratterizzata&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;informazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;operazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;posso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;realizzare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;su&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esse&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;perch&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;loro&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definizione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;deve&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;separata&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;?&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Ed&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ecco&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;voi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nascere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristiche&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;principali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definisce&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nuovo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concepire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;organizzazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;soluzione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;algoritmica&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;problema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;INCAPSULAMENTO&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;detto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tutto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ruota&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;intorno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;al&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vedere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costrutto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;offerto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dal&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;linguaggio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;realizzare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;astrazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;In&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pratica&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;trucco&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;affrontare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;problema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;risolvere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modellandolo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sistema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esistono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vivono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggeti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;comunicano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tra&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;loro&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attraverso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;interfaccia&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;bene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definita&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;METODI&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;!&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;La&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;struttura&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;incapsulato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;invece&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definita&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quelli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vengono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiamati&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ATTRIBUTI&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quindi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costituita&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definiscono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nuovo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ambiente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vengono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definiti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;istanza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;data&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Due&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;istanza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;certa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;differire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;certo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;istante&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tempo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;istante&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;hanno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;suoi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;loro&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definiscono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;lo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;STATO&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fondamentale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;importanza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;perch&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;su&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;basa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;uno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;principi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fondamentali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;INFORMATION&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;HIDING&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;INCAPSULAMENTO&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;secondo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;unico&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attraverso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;debba&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modificare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dovrebbe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;utilizzo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Tecnicamente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;grazie&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;utilizzo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;indicatori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;visibilit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dovrebbero&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;negarne&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;accesso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;utilizzatore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Quindi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sistema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;comunicano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tra&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;loro&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attraverso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;messaggi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;scambiati&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;grazie&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;invocazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alterandone&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;lo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;In&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;NET&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;realizzare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utilizzando&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costrutto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C#&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dichiarando&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;interno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;variabili&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;voluto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possible&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;funzioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C#&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Sia&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;indicare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;visibilit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;devono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;avere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;rispetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;agli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utilizzatori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;indicatori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibili&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tre&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;privato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;publico&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;protetto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Nel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;primo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;visibilit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;consentita&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;solo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;interno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;secondo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;consentita&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anche&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;agli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utilizzatori&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;terzo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;solo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;estendono&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quest&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ultimo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;affronteremo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tra&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;poco&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;In&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utilizzano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parole&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;riservate&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Private&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Protected&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;private&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;protected&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;password;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Empty;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;bool&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Autenticato(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;!&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;_userID.Equals(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;password&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;password&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;password&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Empty&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Autenticato(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Boolean&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Not&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID.Equals(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potete&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;notare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esiste&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;speciale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nella&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definizione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiamato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costruttore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;viene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;automaticamente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;invocato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;atto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;istanziazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;viene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;identificato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mentre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ha&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;lo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stesso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nome&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ha&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ritorno&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eseguire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;inizializzazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dello&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;EREDITARIETA&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;La&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;seconda&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristica&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;principale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ereditariet&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristica&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;permette&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;estendere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esistente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aggiungogli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;funzionalit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;prevedeva&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quindi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;diversamente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;indicato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dal&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmatore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;con&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;appositi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costrutti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;prendere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esistente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ed&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;estenderla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;funzionalit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;base&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aveva&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Consideriamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esempio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classico&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esempio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;degli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utenti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sistema&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornitore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potrebbe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sistema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quindi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anzich&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;replicare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nelle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornitore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;funzionalit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;specifiche&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;comuni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;degli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utenti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornitore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;specializzazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potete&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;osservare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;due&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;costruttori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;abbiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valorizzato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;attributo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;protetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;visibilit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ci&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;consentita&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dalla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dichiarazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;protected&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dell&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;attributo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Questa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristica&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;permette&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;riuso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;codice&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esistente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ch&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;bel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vantaggio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;se&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ereditariet&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mostra&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sue&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potenzialit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quando&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;viene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;usata&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;forma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;polimorfismo..&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;POLIMORFISMO&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;E&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;veniamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ultima&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;importanza&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delle&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristiche&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fondamentali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;polimorfismo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ovvero&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ci&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sugegrisce&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nome&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stesso&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;capacit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;assumere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;forme&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Penso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;migliore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;spiegare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sia&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attraverso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esempio&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Riprendiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;supponiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esista&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;ritorni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;propria&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Consideriamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;seguente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;listato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Main&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;]&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;args&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente2&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WriteLine(utente1.ChiSono());&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WriteLine(utente2.ChiSono());&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WriteLine(utente3.ChiSono());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Main(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente1&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente2&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente3&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console.WriteLine(utente1.ChiSono()&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console.WriteLine(utente2.ChiSono()&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console.WriteLine(utente3.ChiSono()&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;quale&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sar&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;output&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;prodotto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;?&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Lanciamo...ed&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ecco&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;risultato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sorpresi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;?&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Spero&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;no&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Nonostante&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;siano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tutti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definiti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utenti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concreta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ogni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;istanza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;diversa&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Facciamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;passo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;ugrave;...ridefiniamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nella&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;virtual&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornitore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overridable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Fornitore&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornitore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Questa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;volta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;meccanismo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;polimorfismo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;invoca&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concreta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anzich&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quella&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;variabile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fornendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;risultato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;illustrato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potete&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;notare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;necessario&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;marcare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sovrascrivibili&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overridable&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;virtual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C#&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;poter&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ottenere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;effetto&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;polimorfimo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ha&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nome&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiama&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OVERRIDE&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;confondere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;con&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;seconda&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;forma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;polimorfismo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;interessante&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiama&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OVERLOAD&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;permette&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;avere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;interno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stessa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stessa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;catena&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ereditariet&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;con&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;lo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stesso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nome&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;con&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;numero&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e/o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tipo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parametri&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;diversi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;base&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Inherits&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Overloads&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;denominazione&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;MyBase&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ChiSono()&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;listato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Main&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;]&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;args&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WriteLine(cliente.ChiSono());&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WriteLine(cliente.ChiSono(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;overload&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Main(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cliente&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Cliente&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console.WriteLine(cliente.ChiSono()&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Console.WriteLine(cliente.ChiSono&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;overload&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Molto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;probabilmente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;riuscirete&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;subito&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cogliere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potenzialit&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;meccanismo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;illudo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;riuscire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;farlo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vedremo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nel&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;corso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;articoli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;caratteristica&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;abbia&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;reso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possibile&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;realizzazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;meccanismi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;moderni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;framework&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sviluppo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;contributo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Microsoft&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alla&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;OOP&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;A&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;meccanismi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ormai&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;consolidati&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;supportati&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tutti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;linguaggi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggetti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Microsoft&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ha&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aggiunto&lt;/span&gt; &amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;due&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nuovi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetti&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;PROPERTIES&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;CLASSI&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;PARTIAL&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Volendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;mantenere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;incapsulamento&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ma&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;permettere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ad&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esporre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;i&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;proprio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;maniere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sicura&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;potendone&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;controllare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;accesso&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;basta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;creare&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;due&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;spesso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiamati&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;getter&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;setter&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pubblici&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;all&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;interno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;quali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;restituiti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;impostati&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;GetUserID(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID;&lt;/span&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;SerUserID&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;GetUserID(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;SetUserID&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ByVal&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;valore&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Dato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esigenza&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;comune&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nello&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sviluppo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;software&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Microsoft&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ha&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pensato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;introdurre&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;concetto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;property&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ibrido&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tra&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;rendesse&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;palese&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;ed&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;elegante&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;implementazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;getter&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dei&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;setter&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;public&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;UserID&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;{&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;UserId(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;Return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;value&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="text-decoration: line-through; color: red;"&gt;_&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;userID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;value&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;L&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;accesso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;metodi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;avviene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;se&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fossero&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;degli&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;attributi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pubblici&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;(&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;);&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;utente.UserID&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Michele&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;uid&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente.UserID&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Utente&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;utente.UserId&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;Michele&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;uid&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;String&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;=&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;utente.UserId&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;Le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;partial&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;invece&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sistema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;permette&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definire&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;una&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pi&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;file&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Grazie&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;meccanismo&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;implementa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;semplicemente&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;anteponendo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parola&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;chiave&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Partial&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Basic&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;partial&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C#&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;al&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nome&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;della&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classe&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;nella&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sua&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;definizione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="text-decoration: line-through; color: red;"&gt;viene&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;risolto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;problema&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molto&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sentito&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dai&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmatori&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;avvalgono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;strumenti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sviluppo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;RAD&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;come&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Visual&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Studio&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;alcune&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;delcodice&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;vengono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;generate&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dal&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tool&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eventuali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aggiunte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;al&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;codice&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;generato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possono&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;essere&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fatte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;file&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;separato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eventuali&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aggirnamenti&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;codice&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;da&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;del&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;tool&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;seguito&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;modifiche&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;non&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;sovrascriveranno&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;le&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aggiunte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;fatte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;dal&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;programmatore&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;si&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;trovano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;un&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;file&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;separato&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Conclusioni&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Penso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;che&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;oggi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;possa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;bastare&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;abbiamo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;messo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;molta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;carne&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;a&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cuocere&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;appuntamento&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;al&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;prossimo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;articolo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;in&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;cui&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;parleremo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;di&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;interfacce&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;astratte&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;e&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;classi&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;generiche&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Happy&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Coding&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Rilanciano&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;listato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;precedente&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;risultato&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;questa&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;volta&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;egrave;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;C&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;#&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/2.aspx</link><pubDate>Tue, 14 Jul 2009 22:37:26 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:37</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 2 posted to Articoli by Michele Aponte on 15/07/2009 00:37:26&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;Come molti di voi sapranno la programmazione ad oggetti&amp;nbsp;&amp;egrave; un paradigma di programmazione adottato dalla stragrande maggioranza dei programmatori a partire dagli anni &amp;#39;90, anni in cui si &amp;egrave; cominciato ad abbandonare il paradigma procedurale in cui la definizione dei tipi di dato vedeva separate la struttura del dato dalle procedure che operavano su di esse. A un certo punto si &amp;egrave; giustamente pensato: ma se un&amp;#39;entit&amp;agrave; &amp;egrave;&amp;nbsp;caratterizzata da un insieme di informazioni e dalle operazioni che posso realizzare su di esse perch&amp;egrave; la loro definizione deve essere separata? Ed ecco a voi nascere il concetto di classe che insieme alle 3 caratteristiche principali della OOP definisce questo nuovo modo di concepire l&amp;#39;organizzazione della soluzione algoritmica ad un problema dato.&lt;/p&gt;
&lt;h3&gt;INCAPSULAMENTO&lt;/h3&gt;
&lt;p&gt;Come detto tutto ruota intorno al concetto di classe, che possiamo vedere come il costrutto offerto dal linguaggio per realizzare l&amp;#39;astrazione del concetto di oggetto. In pratica il trucco sta nell&amp;#39;affrontare il problema da risolvere modellandolo come un sistema in cui esistono e vivono un insieme di oggeti che comunicano tra di loro attraverso un&amp;#39;interfaccia bene definita: i&amp;nbsp;METODI della classe! La struttura del dato incapsulato nell&amp;#39;oggetto &amp;egrave; invece definita da quelli che vengono chiamati ATTRIBUTI. Una classe &amp;egrave; quindi costituita da attributi e metodi, che insieme definiscono un nuovo tipo di dato per l&amp;#39;ambiente in cui vengono definiti. Un oggetto &amp;egrave; un&amp;#39;istanza di una data classe.&lt;/p&gt;
&lt;p&gt;Due oggetti, istanza di una certa classe, possono differire in un certo istante di tempo per il valore che in quell&amp;#39;istante hanno i suoi attributi, che nel loro insieme definiscono lo STATO dell&amp;#39;oggetto. Il concetto di stato di un oggetto &amp;egrave; di fondamentale importanza perch&amp;egrave; su di esso di basa uno dei tre principi fondamentali dalla OOP: l&amp;#39;INFORMATION HIDING&amp;nbsp;o INCAPSULAMENTO secondo il quale l&amp;#39;unico modo attraverso cui debba essere possibile modificare tale stato dovrebbe essere l&amp;#39;utilizzo dei metodi della classe. Tecnicamente questo &amp;egrave; possibile grazie all&amp;#39;utilizzo di indicatori di visibilit&amp;agrave; per gli attributi che dovrebbero negarne l&amp;#39;accesso all&amp;#39;utilizzatore della classe. Quindi gli oggetti del sistema comunicano tra di loro attraverso messaggi scambiati grazie all&amp;#39;invocazione dei metodi alterandone lo stato.&lt;/p&gt;
&lt;p&gt;In .NET &amp;egrave; possibile realizzare una classe utilizzando il costrutto Class in Visual Basic&amp;nbsp;e class in C#, &amp;egrave; possibile definire gli attributi dichiarando all&amp;#39;interno delle classi delle variabili del tipo voluto, &amp;egrave; possible definire i metodi definendo delle Sub o delle Function in Visual Basic, definendo delle funzioni in C#&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; Sia per gli attributi che per i metodi e possibile indicare la visibilit&amp;agrave; che essi devono avere rispetto agli utilizzatori delle classi, gli indicatori possibili sono tre: privato, publico o protetto. Nel primo classe la visibilit&amp;agrave; &amp;egrave; consentita solo all&amp;#39;interno della classe, nel secondo caso e consentita anche agli utilizzatori, nel terzo caso solo alla classe e alle classi che la estendono, concetto quest&amp;#39;ultimo che affronteremo tra poco. In Visual Basic si utilizzano le parole riservate Private, Public e Protected, in C# private, public &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protected&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;password;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Empty;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;bool&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Autenticato(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;!&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;_userID.Equals(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;password&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Private&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;password&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Protected&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;password&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Empty&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Autenticato(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Boolean&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Not&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID.Equals(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;guest&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;notare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esiste&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;speciale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiamato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costruttore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;automaticamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invocato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;atto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;istanziazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;identificato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mentre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ritorno&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eseguire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;inizializzazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dello&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;EREDITARIETA&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;La&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seconda&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;principale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;estendere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiungogli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prevedeva&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversamente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;indicato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;appositi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costrutti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prendere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;estenderla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;base&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aveva&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Consideriamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classico&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potrebbe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quindi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anzich&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;replicare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nelle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;funzionalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;specifiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comuni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; e &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;specializzazioni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;osservare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;costruttori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valorizzato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;protetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;visibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consentita&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dalla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dichiarazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; protected &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esistente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ch&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;bel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vantaggio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;se&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mostra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sue&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potenzialit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quando&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;usata&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo..&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;POLIMORFISMO&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;E&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;veniamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ultima&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;importanza&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delle&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fondamentali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ovvero&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sugegrisce&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;capacit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;assumere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forme&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Penso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;migliore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;spiegare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attraverso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esempio&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Riprendiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;supponiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esista&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;ritorni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;propria&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Consideriamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seguente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Main&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;]&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;args&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente1&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente2&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente3&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;WriteLine(utente1.ChiSono());&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;WriteLine(utente2.ChiSono());&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;WriteLine(utente3.ChiSono());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Main(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente1&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente2&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente3&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console.WriteLine(utente1.ChiSono()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console.WriteLine(utente2.ChiSono()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console.WriteLine(utente3.ChiSono()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;quale&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prodotto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Lanciamo...ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ecco&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_1.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Sorpresi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;?&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Spero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;no&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Nonostante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;siano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definiti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utenti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concreta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ogni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;istanza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversa&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Facciamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;passo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;...ridefiniamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;virtual&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Overridable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt; &lt;span style="background: SpringGreen;"&gt;Fornitore&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornitore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Inherits&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/shoot3_5F00_2.jpg" border="0" alt="" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;volta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invoca&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concreta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anzich&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;variabile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fornendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;illustrato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;notare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;necessario&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;marcare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sovrascrivibili&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Overridable&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;virtual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;poter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ottenere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;effetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiama&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OVERRIDE&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;confondere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seconda&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;forma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;polimorfismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;interessante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiama&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OVERLOAD&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stessa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stessa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;catena&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ereditariet&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;lo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;stesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;con&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;numero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e/o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tipo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parametri&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;diversi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;override&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;base&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ChiSono();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Inherits&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Overrides&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Chi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Overloads&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;ChiSono&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;denominazione&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;MyBase&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;ChiSono()&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;Main&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;[&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;]&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;args&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;WriteLine(cliente.ChiSono());&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;WriteLine(cliente.ChiSono(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;overload&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Main(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;cliente&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Cliente&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console.WriteLine(cliente.ChiSono()&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Console.WriteLine(cliente.ChiSono&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;overload&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;probabilmente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuscirete&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;subito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cogliere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potenzialit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;illudo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;riuscire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;farlo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vedremo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nel&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;corso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;articoli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;caratteristica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbia&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;reso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibile&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;realizzazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;moderni&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;framework&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;Il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;contributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alla&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;OOP&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;A&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ormai&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;consolidati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;supportati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tutti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;linguaggi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggetti&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunto&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nuovi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetti&lt;/span&gt;: &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;PROPERTIES&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;CLASSI&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;PARTIAL&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Volendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;mantenere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;incapsulamento&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ma&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permettere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ad&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esporre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;i&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;proprio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;maniere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;quot;sicura&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;potendone&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;controllare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;accesso&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;basta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;creare&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;due&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;spesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiamati&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;getter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;setter&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pubblici&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;interno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;restituiti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;impostati&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;GetUserID(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID;&lt;/span&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;SerUserID&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;GetUserID(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;SetUserID&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;ByVal&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;valore&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Dato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;esigenza&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comune&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nello&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;software&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Microsoft&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ha&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pensato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;introdurre&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;concetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;property&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ibrido&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tra&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;rendesse&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;palese&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ed&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;elegante&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;implementazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;getter&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dei&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;setter&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font size="2" color="#0000ff"&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;public&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2" color="#0000ff"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;UserID&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;return&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;{&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;value&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Public&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;UserId(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;Return&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;ByVal&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;value&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="background: SpringGreen;"&gt;_&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;userID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;value&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;End&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;accesso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;metodi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avviene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;se&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fossero&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;degli&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;attributi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pubblici&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;);&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;utente.UserID&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Michele&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;string&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;uid&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente.UserID&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;utente&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;New&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Utente&lt;/span&gt;&lt;font size="2"&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;utente.UserId&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;Michele&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;Dim&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;span style="background: SpringGreen;"&gt;uid&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;As&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;String&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="background: SpringGreen;"&gt;=&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;utente.UserId&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;Le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;invece&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sistema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;permette&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definire&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;una&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pi&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Grazie&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;meccanismo&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;implementa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;semplicemente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;anteponendo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;la&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parola&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;chiave&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Basic&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &amp;nbsp;&lt;span style="background: SpringGreen;"&gt;partial&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C#&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nome&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;della&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classe&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nella&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sua&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;definizione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt;&amp;nbsp;&lt;span style="background: SpringGreen;"&gt;viene&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risolto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;problema&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sentito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dai&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatori&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;avvalgono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;strumenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sviluppo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;RAD&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;come&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Visual&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Studio&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;alcune&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;delcodice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;vengono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generate&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tool&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;:&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eventuali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possono&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;essere&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fatte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eventuali&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggirnamenti&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;codice&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;da&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;del&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;tool&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;seguito&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modifiche&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;non&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sovrascriveranno&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;le&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aggiunte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;fatte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dal&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;programmatore&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;si&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;trovano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;un&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;file&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;separato&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;h3&gt;&lt;span style="background: SpringGreen;"&gt;Conclusioni&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Penso&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;che&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;oggi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;bastare&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;abbiamo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;messo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;molta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;carne&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;a&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cuocere&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;appuntamento&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;al&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;prossimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;articolo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;in&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;cui&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;parleremo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;di&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;interfacce&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;astratte&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;e&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;classi&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;generiche&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Happy&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;Coding&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Rilanciano&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;listato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;precedente&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;il&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;risultato&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;questa&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;volta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;VB&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;C&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;#&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 03</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-03/revision/1.aspx</link><pubDate>Tue, 14 Jul 2009 20:04:03 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:36</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 1 posted to Articoli by Michele Aponte on 14/07/2009 22:04:03&lt;br /&gt;
&lt;h2&gt;OOP: Object Oriented Programming&lt;/h2&gt;
&lt;p&gt;Oggi parliamo di programmazione ad oggetti, introducendone le caratteristiche principali e come queste sono implementate nel .NET Framework. &lt;/p&gt;
&lt;p&gt;Come molti di voi sapranno la programmazione ad oggetti&amp;nbsp;&amp;egrave; un paradigma di programmazione adottato dalla stragrande maggioranza dei programmatori a partire dagli anni &amp;#39;90, anni in cui si &amp;egrave; cominciato ad abbandonare il paradigma procedurale in cui la definizione dei tipi di dato vedeva separate la struttura del dato dalle procedure che operavano su di esse. A un certo punto si &amp;egrave; giustamente pensato: ma se un&amp;#39;entit&amp;agrave; &amp;egrave;&amp;nbsp;caratterizzata da un insieme di informazioni e dalle operazioni che posso realizzare su di esse perch&amp;egrave; la loro definizione deve essere separata? Ed ecco a voi nascere il concetto di classe che insieme alle 3 caratteristiche principali della OOP definisce questo nuovo modo di concepire l&amp;#39;organizzazione della soluzione algoritmica ad un problema dato.&lt;/p&gt;
&lt;h3&gt;INCAPSULAMENTO&lt;/h3&gt;
&lt;p&gt;Come detto tutto ruota intorno al concetto di classe, che possiamo vedere come il costrutto offerto dal linguaggio per realizzare l&amp;#39;astrazione del concetto di oggetto. In pratica il trucco sta nell&amp;#39;affrontare il problema da risolvere modellandolo come un sistema in cui esistono e vivono un insieme di oggeti che comunicano tra di loro attraverso un&amp;#39;interfaccia bene definita: i&amp;nbsp;METODI della classe! La struttura del dato incapsulato nell&amp;#39;oggetto &amp;egrave; invece definita da quelli che vengono chiamati ATTRIBUTI. Una classe &amp;egrave; quindi costituita da attributi e metodi, che insieme definiscono un nuovo tipo di dato per l&amp;#39;ambiente in cui vengono definiti. Un oggetto &amp;egrave; un&amp;#39;istanza di una data classe.&lt;/p&gt;
&lt;p&gt;Due oggetti, istanza di una certa classe, possono differire in un certo istante di tempo per il valore che in quell&amp;#39;istante hanno i suoi attributi, che nel loro insieme definiscono lo STATO dell&amp;#39;oggetto. Il concetto di stato di un oggetto &amp;egrave; di fondamentale importanza perch&amp;egrave; su di esso di basa uno dei tre principi fondamentali dalla OOP: l&amp;#39;INFORMATION HIDING&amp;nbsp;o INCAPSULAMENTO secondo il quale l&amp;#39;unico modo attraverso cui debba essere possibile modificare tale stato dovrebbe essere l&amp;#39;utilizzo dei metodi della classe. Tecnicamente questo &amp;egrave; possibile grazie all&amp;#39;utilizzo di indicatori di visibilit&amp;agrave; per gli attributi che dovrebbero negarne l&amp;#39;accesso all&amp;#39;utilizzatore della classe. Quindi gli oggetti del sistema comunicano tra di loro attraverso messaggi scambiati grazie all&amp;#39;invocazione dei metodi alterandone lo stato.&lt;/p&gt;
&lt;p&gt;In .NET &amp;egrave; possibile realizzare una classe utilizzando il costrutto Class in Visual Basic&amp;nbsp;e class in C#, &amp;egrave; possibile definire gli attributi dichiarando all&amp;#39;interno delle classi delle variabili del tipo voluto, &amp;egrave; possible definire i metodi definendo delle Sub o delle Function in Visual Basic, definendo delle funzioni in C#:&lt;/p&gt;
&lt;p&gt;Sia per gli attributi che per i metodi e possibile indicare la visibilit&amp;agrave; che essi devono avere rispetto agli utilizzatori delle classi, gli indicatori possibili sono tre: privato, publico o protetto. Nel primo classe la visibilit&amp;agrave; &amp;egrave; consentita solo all&amp;#39;interno della classe, nel secondo caso e consentita anche agli utilizzatori, nel terzo caso solo alla classe e alle classi che la estendono, concetto quest&amp;#39;ultimo che affronteremo tra poco. In Visual Basic si utilizzano le parole riservate Private, Public e Protected, in C# private, public e protected:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/0.aspx</link><pubDate>Tue, 23 Jun 2009 14:09:58 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:7</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 23/06/2009 16:09:58&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Certificazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Esame&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;70-536&lt;/span&gt;&lt;/div&gt;

&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void &lt;/span&gt;Main(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; Main()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void &lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;st1:place&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;w:st=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Main&lt;/span&gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;st1:place&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;w:st=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="background: SpringGreen;"&gt;Main(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/5.aspx</link><pubDate>Tue, 23 Jun 2009 14:07:32 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:10</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 5 posted to Articoli by Michele Aponte on 23/06/2009 16:07:32&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void &lt;/span&gt;Main(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; Main()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;/&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;v:f&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelWidth&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelHeight&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;6&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;7&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelWidth&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;8&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;7&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelHeight&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;10&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:path&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:extrusionok=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;f&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gradientshapeok=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:connecttype=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;rect&amp;quot;&amp;gt;&amp;lt;/v:path&amp;gt;&amp;lt;o:lock&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;v:ext=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;edit&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aspectratio=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/4.aspx</link><pubDate>Tue, 23 Jun 2009 14:03:00 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:9</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 4 posted to Articoli by Michele Aponte on 23/06/2009 16:03:00&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;st1:place&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;w:st=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Main&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;(&lt;/span&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;st1:place&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;w:st=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="background: SpringGreen;"&gt;Main(&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="background: SpringGreen;"&gt;/&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;v:f&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;1&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;2&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;1&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;2&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;3&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pixelWidth&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;3&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pixelHeight&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;1&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;6&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;1&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;2&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;7&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pixelWidth&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;8&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;7&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pixelHeight&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eqn=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;@&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;10&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;21600&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;0&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:path&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o:extrusionok=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;f&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;gradientshapeok=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;t&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;o:connecttype=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;rect&amp;quot;&amp;gt;&amp;lt;/v:path&amp;gt;&amp;lt;o:lock&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;v:ext=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;edit&amp;quot;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aspectratio=&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/3.aspx</link><pubDate>Tue, 23 Jun 2009 14:00:04 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:8</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 3 posted to Articoli by Michele Aponte on 23/06/2009 16:00:04&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;v:shapetype&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;coordsize=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;21600,21600&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:spt=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;75&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:preferrelative=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;path=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;m@4@5l@4@11@9@11@9@5xe&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;filled=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;f&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;stroked=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;f&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;id=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;_x0000_t75&amp;quot;&amp;gt;&amp;lt;v:stroke&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;joinstyle=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;miter&amp;quot;&amp;gt;&amp;lt;/v:stroke&amp;gt;&amp;lt;v:formulas&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;if&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;lineDrawn&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelLineWidth&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelWidth&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;3&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelHeight&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;6&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;1&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;2&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;7&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelWidth&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;8&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;prod&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;7&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;pixelHeight&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;eqn=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;sum&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;@&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;10&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;21600&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;0&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;/v:formulas&amp;gt;&amp;lt;v:path&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:extrusionok=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;f&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;gradientshapeok=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;o:connecttype=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;rect&amp;quot;&amp;gt;&amp;lt;/v:path&amp;gt;&amp;lt;o:lock&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;v:ext=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;edit&amp;quot;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;aspectratio=&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&amp;lt;/v:shapetype&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/2.aspx</link><pubDate>Tue, 23 Jun 2009 13:57:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:7</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 2 posted to Articoli by Michele Aponte on 23/06/2009 15:57:51&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: Certificazioni Esame 70-536&lt;/div&gt;

&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Insieme&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;verso&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;il&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;primo&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;esame&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;per&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;la&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;certificazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Microsoft&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Esame&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;70-536&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;ndash;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Lezione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;02&lt;/span&gt;&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;v:shapetype coordsize=&amp;quot;21600,21600&amp;quot; o:spt=&amp;quot;75&amp;quot; o:preferrelative=&amp;quot;t&amp;quot; path=&amp;quot;m@4@5l@4@11@9@11@9@5xe&amp;quot; filled=&amp;quot;f&amp;quot; stroked=&amp;quot;f&amp;quot; id=&amp;quot;_x0000_t75&amp;quot;&amp;gt;&amp;lt;v:stroke joinstyle=&amp;quot;miter&amp;quot;&amp;gt;&amp;lt;/v:stroke&amp;gt;&amp;lt;v:formulas&amp;gt;&amp;lt;v:f eqn=&amp;quot;if lineDrawn pixelLineWidth 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @0 1 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum 0 0 @1&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @2 1 2&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @3 21600 pixelWidth&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @3 21600 pixelHeight&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @0 0 1&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @6 1 2&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @7 21600 pixelWidth&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @8 21600 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @7 21600 pixelHeight&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @10 21600 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;/v:formulas&amp;gt;&amp;lt;v:path o:extrusionok=&amp;quot;f&amp;quot; gradientshapeok=&amp;quot;t&amp;quot; o:connecttype=&amp;quot;rect&amp;quot;&amp;gt;&amp;lt;/v:path&amp;gt;&amp;lt;o:lock v:ext=&amp;quot;edit&amp;quot; aspectratio=&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&amp;lt;/v:shapetype&amp;gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&amp;lt;/v:shapetype&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 02</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-02/revision/1.aspx</link><pubDate>Tue, 23 Jun 2009 13:55:54 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:6</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 1 posted to Articoli by Michele Aponte on 23/06/2009 15:55:54&lt;br /&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 &amp;ndash; Lezione 02&lt;/h1&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;I Reference Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come gi&amp;agrave; detto nella precedente lezione un tipo reference memorizza il valore della sua variabile nell&amp;rsquo;area di memoria chiamata heap, mentre mantiene il rifermento a tale area di memoria nell&amp;rsquo;area di memoria chiamata stack. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Mentre lo stack viene pulito man mano che le variabili in esso memorizzate perdono visibilit&amp;agrave; (out-of-scope), l&amp;rsquo;heap viene gestito da un sistema chiamato &lt;i&gt;garbage collector&lt;/i&gt;, attraverso un procedimento chiamato &lt;i&gt;garbage collection&lt;/i&gt; che consiste nel verificare periodicamente i riferimenti esistenti ad una certa area di memoria heap e pulirla quando non esistono pi&amp;ugrave; riferimenti di questo tipo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo pi&amp;ugrave; semplice di capire il funzionamento pratico di un tipo reference &amp;egrave; quello di confrontarlo con un value type. Consideriamo ad esempio il value type personalizzato creato l&amp;rsquo;ultima volta con un esempio di utilizzo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato in output &amp;egrave; il seguente:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;v:shapetype coordsize=&amp;quot;21600,21600&amp;quot; o:spt=&amp;quot;75&amp;quot; o:preferrelative=&amp;quot;t&amp;quot; path=&amp;quot;m@4@5l@4@11@9@11@9@5xe&amp;quot; filled=&amp;quot;f&amp;quot; stroked=&amp;quot;f&amp;quot; id=&amp;quot;_x0000_t75&amp;quot;&amp;gt;&amp;lt;v:stroke joinstyle=&amp;quot;miter&amp;quot;&amp;gt;&amp;lt;/v:stroke&amp;gt;&amp;lt;v:formulas&amp;gt;&amp;lt;v:f eqn=&amp;quot;if lineDrawn pixelLineWidth 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @0 1 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum 0 0 @1&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @2 1 2&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @3 21600 pixelWidth&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @3 21600 pixelHeight&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @0 0 1&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @6 1 2&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @7 21600 pixelWidth&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @8 21600 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;prod @7 21600 pixelHeight&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;v:f eqn=&amp;quot;sum @10 21600 0&amp;quot;&amp;gt;&amp;lt;/v:f&amp;gt;&amp;lt;/v:formulas&amp;gt;&amp;lt;v:path o:extrusionok=&amp;quot;f&amp;quot; gradientshapeok=&amp;quot;t&amp;quot; o:connecttype=&amp;quot;rect&amp;quot;&amp;gt;&amp;lt;/v:path&amp;gt;&amp;lt;o:lock v:ext=&amp;quot;edit&amp;quot; aspectratio=&amp;quot;t&amp;quot;&amp;gt;&amp;lt;/o:lock&amp;gt;&amp;lt;/v:shapetype&amp;gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image001.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per costrruire un reference type basta sotituire il costrutto struct (Structure in Visual Basic) con il costrutto &lt;i&gt;Class&lt;/i&gt;:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;int&lt;/span&gt; i;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;class&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Program&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; primo = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt;();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;true&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;MioTipo&lt;/span&gt; secondo = primo;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;false&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt; MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Public&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Class&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Sub&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &amp;lt;st1:place w:st=&amp;quot;on&amp;quot;&amp;gt;Main&amp;lt;/st1:place&amp;gt;()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; primo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.i = 1&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;primo.b = &lt;span style="color:blue;"&gt;True&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; secondo &lt;span style="color:blue;"&gt;As&lt;/span&gt; MioTipo = primo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.i = 2&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;secondo.b = &lt;span style="color:blue;"&gt;False&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;a: {0}, {1}; b: {2}, {3}&amp;quot;&lt;/span&gt;, primo.i, primo.b, secondo.i, secondo.b)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il risultato in questo caso invece &amp;egrave; il seguente:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image002.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come mai questa differenza? Molto semplicemente perch&amp;eacute; in entrambi i casi l&amp;rsquo;assegnazione alla variabile &lt;i&gt;secondo&lt;/i&gt; del valore di &lt;i&gt;primo&lt;/i&gt; consiste in una copia del valore delle variabili, che nel primo caso (value type) &amp;egrave; proprio il valore della variabile, mentre nel secondo caso (reference type) si tratta del riferimento al valore della variabile, di conseguenza dopo l&amp;rsquo;assegnazione nel secondo caso &lt;i&gt;secondo&lt;/i&gt; punta alla stessa locazione di memoria heap di &lt;i&gt;primo&lt;/i&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra grande differenza &amp;egrave; sicuramente l&amp;rsquo;utilizzo dell&amp;rsquo;operatore &lt;i&gt;new&lt;/i&gt; (&lt;i&gt;New&lt;/i&gt; in Visual Basic) che permette di istanziare la classe &lt;i&gt;MioTipo&lt;/i&gt;, creando cos&amp;igrave; lo spazio nello heap destinato alla variabile, cosa non necessaria per i value type dato che l&amp;rsquo;allocazione avviene sullo stack.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; comuni reference type sono i seguenti:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Object&lt;/i&gt;, la classe base di tutti i tipi del .net framework&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.String&lt;/i&gt;, la classe per il contenimento delle stringhe di testo&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Text.StringBuilder&lt;/i&gt;, la classe per il contenimento di stringhe di testo dinamiche&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Array&lt;/i&gt;, la classe base di tutti gli array del framework,&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.IO.Stream&lt;/i&gt;, la classe base per la gestione degli stream di dati&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-size:small;"&gt;-&lt;/span&gt;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;System.Exception&lt;/i&gt;, la classe base di tutte le eccezioni del farmework&lt;i&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Del significato della parola &lt;i&gt;classe base&lt;/i&gt; parleremo nei prossimi articoli, adesso focalizziamo la nostra attenzione sulla differenza non necessariamente ovvia tra &lt;i&gt;String&lt;/i&gt; e &lt;i&gt;StringBuilder&lt;/i&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;String vs StringBuilder&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potrete immaginare sul tipo String sono definite le pi&amp;ugrave; comuni operazioni tra stringhe quale ad esempio la somma, perch&amp;eacute; dunque avere una classe che permetta la gestione di stringhe dinamiche?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il tipo &lt;i&gt;System.String&lt;/i&gt; &amp;egrave; un tipo cosiddetto &lt;i&gt;immutabile&lt;/i&gt;, il che significa molto semplicemente che ogni volta che la stringa viene modificata, il runtime di .NET crea una nuova stringa, abbandonando la vecchia. Molti programmatori non ci fanno caso perch&amp;eacute; la cosa avviene in maniera trasparente ma sapendolo vi renderete sicuramente conto di quanto possa essere uno spreco un simile comportamento. Al fine di evitare questo spiacevole inconveniente &amp;egrave; stata creata la classe &lt;i&gt;StringBuilder:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-bidi-font-style:italic;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StringBuilder&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringBuilder&lt;/span&gt;();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sb);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sb &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; System.Text.StringBuilder&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania - &amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;Il primo User Group su .NET &amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;sb.Append(&lt;span style="color:#a31515;"&gt;&amp;quot;tutto campano!&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;Console.WriteLine(sb)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; del tutto immaginabile:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image003.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Di default il costruttore (il metodo della classe che inizializza lo stato di un oggetto, ne parleremo nei prossimi articoli) di StringBuilder crea un buffer di 16 byte che ingrandisce in base alle necessit&amp;agrave;, ma &amp;egrave; possibile specificare la dimensione iniziale e anche la dimensione massima.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Creare e ordinare Arrays&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Uno dei contenitori pi&amp;ugrave; importanti di dati, dopo la variabile, &amp;egrave; l&amp;rsquo;array, per capirci lo possiamo vedere come un insieme contiguo di variabili dello stesso tipo indicizzate in base alla posizione nell&amp;rsquo;insieme. La creazione in .NET &amp;egrave; molto semplice: le parentesi tonde in Visual Basic e le parentesi quadre in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[] ar = {20, 30, 10};&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ar() &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = {20, 30, 10}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Grazie alla classe stratta &lt;i style="mso-bidi-font-style:normal;"&gt;Array&lt;/i&gt; e al suo metodo statico &lt;i style="mso-bidi-font-style:normal;"&gt;Sort&lt;/i&gt;, l&amp;rsquo;ordinamento di un array &amp;egrave; veramente un&amp;rsquo;operazione banale:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.Sort(ar);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar[0], ar[1], ar[2]);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Array.Sort(ar)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;{0}, {1}, {2}&amp;quot;&lt;/span&gt;, ar(0), ar(1), ar(2))&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;ovvio risultato:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image004.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gli stream di dati&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Nel framework .NET l&amp;rsquo;accesso al disco o la scambio dati nelle comunicazioni di rete sono uniformati dal concetto di &lt;i style="mso-bidi-font-style:normal;"&gt;Stream&lt;/i&gt;, un tipo base grazie al quale &amp;egrave; possibile unificare l&amp;rsquo;accesso ai dati tra varie fonti. Tecnicamente stiamo parlando di una classe stratta da cui vengono create delle classi specifiche della fonte dei dati:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;System.IO&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt; Type &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;color:maroon;font-size:10pt;"&gt;Usato per&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;FileStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere da un file&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;MemoryStream&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere e leggere dalla memoria&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamReader&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Leggere dati da un file di testo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;StreamWriter&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Scrivere dati in un file di testo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Grazie a queste classi operazioni come la scrittura in un file di testo diventano veramente elementari:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamWriter&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamWriter&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(sr.ReadToEnd());&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sw &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;DotNetCampania&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sw.Close()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Console.WriteLine(sr.ReadToEnd)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;sr.Close()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Il risultato &amp;egrave; abbastanza intuitivo:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image005.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Data la loro importanza approfondiremo gli stream nei prossimi articoli.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Gestione delle eccezioni&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Che succede se il nostro programma sta leggendo un file da una penna usb e la nostra sorellina, con quell&amp;rsquo;aria furtiva ma con quello sguardo angelico che ci impedisce di terminarla, ci tira fuori la penna dalla porta USB? Nella speranza che la penna non si sia rotta l&amp;rsquo;unico problema e che il programma verrebbe interrotto da un&amp;rsquo;&lt;i style="mso-bidi-font-style:normal;"&gt;eccezione&lt;/i&gt;, cio&amp;egrave; un evento inaspettato che interrompe la normale esecuzione dell&amp;rsquo;algoritmo.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se una tale eventualit&amp;agrave; non &amp;egrave; stata gestita molto probabilmente il programma termina miseramente con un messaggio di errore generato dal framework, ci va bene? Direi di no! Ecco che quindi ci vengono messi a disposizione i costrutti necessari a gestire una tale eventualit&amp;agrave;: il blocco Try&amp;hellip;Catch&amp;hellip;Finally in Visual Basic, try&amp;hellip;catch&amp;hellip;finally in C#.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Niente &amp;egrave; pi&amp;ugrave; illuminante di un esempio:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;finally&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;In pratica si divide il codice in due o tre blocchi (il finally &amp;egrave; facoltativo): nel primo, il &lt;i style="mso-bidi-font-style:normal;"&gt;try&lt;/i&gt;, si inserisce il codice da sottoporre a gestione delle eccezioni; nel secondo, il &lt;i style="mso-bidi-font-style:normal;"&gt;catch&lt;/i&gt;, si gestisce l&amp;rsquo;eccezione, nel nostro esempio abbiamo stampato un messaggio di errore; nell&amp;rsquo;eventuale terzo, il &lt;i style="mso-bidi-font-style:normal;"&gt;finally&lt;/i&gt;, si inseriscono le operazioni da eseguire in qualsiasi caso, sia di normale flusso dell&amp;rsquo;applicazione che di eccezione. Notate la dichiarazione dello StreamReader fuori dal try: &amp;egrave; l&amp;rsquo;unico modo di renderlo visibile anche al blocco finally.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;L&amp;rsquo;esempio ci da inoltre modo di notare un oggetto molto interessante, &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;, che contiene tutte le informazioni che ci posso essere utili sull&amp;rsquo;eccezione che &amp;egrave; stata generata. La sua struttura &amp;egrave; molto generica e viene usata come classe base per creare eccezioni pi&amp;ugrave; specifiche, quali ad esempio &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt;.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;La cosa interessante &amp;egrave; che mentre il blocco try e il blocco finally sono unici, possiamo creare tutti i blocchi catch che vogliamo a patto di gestire tipi di eccezioni diverse e ricordando che solamente uno sar&amp;agrave; utilizzato in caso di eccezione. Facciamo un esempio:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;StreamReader&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;try&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;Console&lt;/span&gt;.WriteLine(sr.ReadToEnd());&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (System.IO.&lt;span style="color:#2b91af;"&gt;FileNotFoundException&lt;/span&gt; ex)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (System.&lt;span style="color:#2b91af;"&gt;UnauthorizedAccessException&lt;/span&gt; ex)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; (&lt;span style="color:#2b91af;"&gt;Exception&lt;/span&gt; ex)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message);&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;finally&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close();&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; sr &lt;span style="color:blue;"&gt;As&lt;/span&gt; StreamReader = &lt;span style="color:blue;"&gt;Nothing&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Try&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr = &lt;span style="color:blue;"&gt;New&lt;/span&gt; StreamReader(&lt;span style="color:#a31515;"&gt;&amp;quot;text.txt&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(sr.ReadToEnd())&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.IO.FileNotFoundException&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;File non trovato!&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; System.UnauthorizedAccessException&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Non di dispone dei permessi necessari!&amp;quot;&lt;/span&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Catch&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; ex &lt;span style="color:blue;"&gt;As&lt;/span&gt; Exception&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Errore: &amp;quot;&lt;/span&gt; + ex.Message)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Finally&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sr.Close()&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Try&lt;/span&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Il bello di questo meccanismo &amp;egrave; che possiamo decidere cosa fare in base alla tipologia di eccezione che &amp;egrave; stata generata. Tieniamo presente che l&amp;rsquo;ordine in cui sono messi i catch non &amp;egrave; assolutamente casuale, anzi, essendo &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt; pi&amp;ugrave; generica sia di &lt;i style="mso-bidi-font-style:normal;"&gt;FileNotFoundException&lt;/i&gt; che di &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;UnauthorizedAccessException&lt;/i&gt;&lt;span style="mso-no-proof:yes;"&gt;, metterla in cima ai blocchi catch avrebbe provocato la completa inutilit&amp;agrave; dei blocchi sottostanti: qualsiasi eccezione sarebbe stata sempre gestita dal blocco catch &lt;i style="mso-bidi-font-style:normal;"&gt;Exception&lt;/i&gt;. Fortuna che il nostro ambiente di sviluppo sa essere molto esplicativo:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&lt;a href="/cfs-file.ashx/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png"&gt;&lt;img src="/resized-image.ashx/__size/550x0/__key/CommunityServer.Components.SiteFiles/art2_5F00_image006.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;h1 style="margin:12pt 0cm 3pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;Conclusioni&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/h1&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Se non lo avete gi&amp;agrave; fatto penso sia arrivato il momento di aprire visual studio&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e cominciare a smanettare un po&amp;rsquo; altrimenti farete fatica a continuare a seguire questa serie di articoli. Vi do appuntamento al prossimo articolo in cui parleremo di OOP e del contributo di Microsoft a questo paradigma di programmazione che ha rivoluzionato il modo di programmare. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Happy Coding.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 01</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-01/revision/0.aspx</link><pubDate>Sat, 20 Jun 2009 22:55:57 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:6</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 21/06/2009 00:55:57&lt;br /&gt;
&lt;h2&gt;Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 01&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: &lt;span style="text-decoration: line-through; color: red;"&gt;Certificazioni&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;Esame&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;70-536&lt;/span&gt;&lt;/div&gt;

&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Introduzione&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Diciamoci la verit&amp;agrave;: possiamo anche essere i migliori programmatori .NET in circolazione, ma se non c&amp;rsquo;&amp;egrave; qualcuno che certifichi la nostra competenza la lettura del nostro curriculum potrebbe anche sembrare un insieme di fandonie. Ma non &amp;egrave; solo questo. Sorte vuole che il modo migliore di approfondire le tecnologie .NET, dando uno sguardo attento alle parti del framework che probabilmente non ci capiter&amp;agrave; mai di usare (perch&amp;eacute; non le conosciamo) &amp;egrave; proprio studiare per prepararsi agli esami delle certificazioni Microsoft.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Dopo tanti anni passati a programmare con queste tecnologie mi sono reso conto, studiando per il mio primo esame, che tante cose si potevano fare pi&amp;ugrave; velocemente di come le ho fatte: semplicemente erano gi&amp;agrave; pronte nel framework (e i tanti insegnanti che mi dicevano di non reinventare la ruota hanno immediatamente acquisito un certa credibilit&amp;agrave;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Da qui scaturisce l&amp;rsquo;idea di incamminarsi insieme nel percorso delle certificazioni: in questo modo possiamo partire dalle basi del framework e raggiungere insieme una certa maturit&amp;agrave; professionale rendendo DotNetCampania uno strumento utile per il proprio lavoro, uno degli obiettivi per la quale questa community &amp;egrave; nata.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Da dove si comincia?&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il primo livello di certificazione Microsoft va sotto il nome di &lt;i&gt;Microsoft Certified Technical Specialist (MCTS)&lt;/i&gt; &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;che si compone di 9 certificazioni:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;ul style="margin-top:0cm;"&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/webapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Web Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/winapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Windows Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/distapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Distributed Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Presentation Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Communication Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Workflow Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Forms Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, ADO.NET Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, ASP.NET Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="color:black;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:black;"&gt;Per ottenere una di queste certificazioni &amp;egrave; necessario sostenere un singolo esame, ma per sostenere uno qualsiasi di questi esami &amp;egrave; necessario avere superato un esame comune propedeutico: &lt;/span&gt;Microsoft .NET Framework - Application Development Foundation, ovvero l&amp;rsquo;esame 70-536. Quindi la prima cosa da fare &amp;egrave; sostenere questo esame, che da solo non costituisce una certificazione, ma permette di sostenere ognuno degli esami della lista precedente per ottenere invece una singola certificazione.&lt;span style="color:black;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo migliore per prepararsi a questo esame &amp;egrave; l&amp;rsquo;utilizzo &lt;/span&gt;&lt;a href="http://www.amazon.ca/MCTS-Self-Paced-Training-Exam-70-536/dp/0735626197"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Training-Kit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt; appositamente scritto per questo scopo, lo potete acquistare sia in italiano che in inglese a prezzi molto differenti (quello in italiano circa 100&amp;euro;, quello in inglese circa 40&amp;euro;) ma in qualsiasi caso l&amp;rsquo;esame che sosterrete &amp;egrave; in lingua inglese quindi consiglio vivamente di studiare dal testo in inglese ed esercitarsi con test in inglese.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;A proposito di esercitazioni diciamo subito che la prova consiste in un test a risposta singola e multipla (in qualche caso c&amp;rsquo;&amp;egrave; anche da fare drag &amp;amp; drop) da sostenere al PC, in cui vi verr&amp;agrave; chiesto quale linguaggio di programmazione (VB.NET o C#) utilizzare: dovrete rispondere a 40 domande in 2 ore e 15 minuti, per un totale di 1000 punti, dovrete fare almeno 700 punti per superare la prova e tenete conto che ogni domanda ha un peso diverso. Spaventati? No, dai&amp;hellip; cominciamo subito a studiare!&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Prerequisiti&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Per affrontare il corso studiando dal training kit dell&amp;rsquo;esame (e aiutandosi con questo corso)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e necessario conoscere la sintassi almeno a livello basilare di visual basic .net o c#. Cercher&amp;ograve; di non darlo per scontato ma dovr&amp;ograve; almeno assumere che conosciate i fondamenti della programmazione: che cos&amp;rsquo;&amp;egrave; un algoritmo, che cos&amp;rsquo;&amp;egrave; una variabile, che cosa si intende con il termine &lt;i&gt;tipo&lt;/i&gt;, cose del genere insomma. Si parte!&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Prima lezione: I Value Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potremmo cominciare il nostro studio senza parlare dei tipi che ci vengono messi a disposizione dal framework, facciamo quindi subito una netta distinzione tra &lt;i&gt;value type&lt;/i&gt; e &lt;i&gt;reference type&lt;/i&gt;: i primi contengono i valore della variabile direttamente al loro interno, i secondi invece contengono un riferimento al vero punto della memoria in cui &amp;egrave; memorizzato il valore della variabile. Le istanze di un value type vengono memorizzate nell&amp;rsquo;area di memoria chiamato &lt;i&gt;stack&lt;/i&gt;, mentre i reference type puntano a dati memorizzati nell&amp;rsquo;area di memoria chiamata &lt;i&gt;heap&lt;/i&gt;. Per chi avesse qualche dubbio sulla differenza tra i due ricadiamo purtroppo nei prerequisiti, ma potete comunque dare uno sguardo &lt;/span&gt;&lt;a href="http://it.wikipedia.org/wiki/Allocazione_dinamica_della_memoria#Allocazione_di_memoria_basata_su_heap"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;qui&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; semplici value type del framework sono i tipi primitivi, usati cos&amp;igrave; spesso dai programmatori da aver indotto i progettisti del vari linguaggi .net a definire degli alias:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-family:Arial;font-size:10pt;mso-ansi-language:EN-GB;"&gt;Tipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p align="center" class="table-para"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-family:Arial;font-size:10pt;mso-ansi-language:EN-GB;"&gt;(Visual Basic/ C# alias)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Dimensione&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p align="center" class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;(Bytes)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Range dei valori&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Char&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Char&lt;/i&gt;/&lt;i&gt;char&lt;/i&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Boolean&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Boolean&lt;/i&gt;/&lt;i&gt;bool&lt;/i&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.SByte&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(SByte/sbyte)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-128 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-&amp;lt;st1:metricconverter productid=&amp;quot;128 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;128 a&amp;lt;/st1:metricconverter&amp;gt;&amp;lt;/st1:metricconverter&amp;gt; 127&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Byte&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Byte/byte)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da &amp;lt;st1:metricconverter productid=&amp;quot;0 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;0 a&amp;lt;/st1:metricconverter&amp;gt; 255&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int16&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Short/short)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-32768 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-32768 a&amp;lt;/st1:metricconverter&amp;gt; 32767&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:6;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int32&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Integer/int)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-2147483648 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-2147483648 a&amp;lt;/st1:metricconverter&amp;gt; 2147483647&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:7;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.UInt32&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(UInteger/uint)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da &amp;lt;st1:metricconverter productid=&amp;quot;0 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;0 a&amp;lt;/st1:metricconverter&amp;gt; 4294967295&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:8;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int64&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Long/long)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -9223372036854775808 a 9223372036854775807&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:9;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Single&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Single/float)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -3.402823E+&amp;lt;st1:metricconverter productid=&amp;quot;38 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;38 a&amp;lt;/st1:metricconverter&amp;gt; 3.402823E+38&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:10;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Double&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Double/double)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -1.79769313486232E+&amp;lt;st1:metricconverter productid=&amp;quot;308 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;308 a&amp;lt;/st1:metricconverter&amp;gt; 1.79769313486232E+308&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:11;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Decimal&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Decimal/decimal)&lt;/i&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;16&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da -79228162514264337593543950335 a 79228162514264337593543950335&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:12;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.DateTime&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Date&lt;/i&gt;/&lt;i&gt;date&lt;/i&gt;)&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Dal 1/1/0001 12:00:00 AM al 12/31/9999 11:59:59 PM&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;La dichiarazione di una variabile &amp;egrave; molto semplice:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; i = 0;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 0&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Con questo piccolo esempio abbiamo anche visto il modo di commentare nei due linguaggi di programmazione. Se vogliamo definire noi stessi un value type basta creare una &lt;i&gt;Structure&lt;/i&gt; in Visual Basic o una &lt;i&gt;struct&lt;/i&gt; in C#:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;int&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra tipologia di value type molto utile &amp;egrave; l&amp;rsquo;enumerazione: un insieme di simboli con un valore fisso che &amp;egrave; possibile utilizzare per fornire una lista di scelte obbligate a chi debba utilizzare il nostro tipo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;enum&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Colori&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Rosso,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Verde,&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Azzurro&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Enum&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; Colori&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Rosso&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Verde&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Azzurro&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Enum&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Un limite dei tipi primitivi molto sentito &amp;egrave; quello di non poter dare un valore indefinito ad una variabile (Nothing in Visual Basic, null in C#), limite superabile con l&amp;rsquo;uso dei Generics (che vedremo tra qualche articolo), in particolare il tipo generico Nullable:&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Nullable&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&amp;gt; a = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;? a = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; a &lt;span style="color:blue;"&gt;As&lt;/span&gt; Nullable(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;) = &lt;span style="color:blue;"&gt;Nothing&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per C# &amp;egrave; possibile usare il punto interrogativo come contrazione del tipo Nullable (una vera comodit&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;agrave;!)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;!)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Fermiamoci qui per questo primo articolo, esercitatevi un po&amp;rsquo; perch&amp;eacute; il modo migliore di memorizzare queste cose &amp;egrave; usarle!&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Appuntamento alla prossima lezione, restati sintonizzati.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Insieme verso il primo esame per la certificazione Microsoft: Esame 70-536 – Lezione 01</title><link>http://dotnetcampania.org/wikis/articoli/insieme-verso-il-primo-esame-per-la-certificazione-microsoft-esame-70-536-lezione-01/revision/1.aspx</link><pubDate>Sat, 20 Jun 2009 22:54:02 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:5</guid><dc:creator>Michele Aponte</dc:creator><description>Revision 1 posted to Articoli by Michele Aponte on 21/06/2009 00:54:02&lt;br /&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Introduzione&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Diciamoci la verit&amp;agrave;: possiamo anche essere i migliori programmatori .NET in circolazione, ma se non c&amp;rsquo;&amp;egrave; qualcuno che certifichi la nostra competenza la lettura del nostro curriculum potrebbe anche sembrare un insieme di fandonie. Ma non &amp;egrave; solo questo. Sorte vuole che il modo migliore di approfondire le tecnologie .NET, dando uno sguardo attento alle parti del framework che probabilmente non ci capiter&amp;agrave; mai di usare (perch&amp;eacute; non le conosciamo) &amp;egrave; proprio studiare per prepararsi agli esami delle certificazioni Microsoft.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Dopo tanti anni passati a programmare con queste tecnologie mi sono reso conto, studiando per il mio primo esame, che tante cose si potevano fare pi&amp;ugrave; velocemente di come le ho fatte: semplicemente erano gi&amp;agrave; pronte nel framework (e i tanti insegnanti che mi dicevano di non reinventare la ruota hanno immediatamente acquisito un certa credibilit&amp;agrave;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Da qui scaturisce l&amp;rsquo;idea di incamminarsi insieme nel percorso delle certificazioni: in questo modo possiamo partire dalle basi del framework e raggiungere insieme una certa maturit&amp;agrave; professionale rendendo DotNetCampania uno strumento utile per il proprio lavoro, uno degli obiettivi per la quale questa community &amp;egrave; nata.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Da dove si comincia?&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il primo livello di certificazione Microsoft va sotto il nome di &lt;i&gt;Microsoft Certified Technical Specialist (MCTS)&lt;/i&gt; &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;che si compone di 9 certificazioni:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;ul style="margin-top:0cm;"&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/webapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Web Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/winapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Windows Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/distapps/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 2.0 Distributed Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Presentation Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Communication Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Workflow Foundation Applications&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, Windows Forms Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, ADO.NET Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0cm 0cm 0pt;color:black;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/"&gt;&lt;span lang="EN-GB" style="color:windowtext;text-decoration:none;text-underline:none;mso-ansi-language:EN-GB;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.NET Framework 3.5, ASP.NET Applications &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;"&gt;&lt;span style="color:black;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="color:black;"&gt;Per ottenere una di queste certificazioni &amp;egrave; necessario sostenere un singolo esame, ma per sostenere uno qualsiasi di questi esami &amp;egrave; necessario avere superato un esame comune propedeutico: &lt;/span&gt;Microsoft .NET Framework - Application Development Foundation, ovvero l&amp;rsquo;esame 70-536. Quindi la prima cosa da fare &amp;egrave; sostenere questo esame, che da solo non costituisce una certificazione, ma permette di sostenere ognuno degli esami della lista precedente per ottenere invece una singola certificazione.&lt;span style="color:black;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Il modo migliore per prepararsi a questo esame &amp;egrave; l&amp;rsquo;utilizzo &lt;/span&gt;&lt;a href="http://www.amazon.ca/MCTS-Self-Paced-Training-Exam-70-536/dp/0735626197"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Training-Kit&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt; appositamente scritto per questo scopo, lo potete acquistare sia in italiano che in inglese a prezzi molto differenti (quello in italiano circa 100&amp;euro;, quello in inglese circa 40&amp;euro;) ma in qualsiasi caso l&amp;rsquo;esame che sosterrete &amp;egrave; in lingua inglese quindi consiglio vivamente di studiare dal testo in inglese ed esercitarsi con test in inglese.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="color:black;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;A proposito di esercitazioni diciamo subito che la prova consiste in un test a risposta singola e multipla (in qualche caso c&amp;rsquo;&amp;egrave; anche da fare drag &amp;amp; drop) da sostenere al PC, in cui vi verr&amp;agrave; chiesto quale linguaggio di programmazione (VB.NET o C#) utilizzare: dovrete rispondere a 40 domande in 2 ore e 15 minuti, per un totale di 1000 punti, dovrete fare almeno 700 punti per superare la prova e tenete conto che ogni domanda ha un peso diverso. Spaventati? No, dai&amp;hellip; cominciamo subito a studiare!&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Prerequisiti&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Per affrontare il corso studiando dal training kit dell&amp;rsquo;esame (e aiutandosi con questo corso)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;e necessario conoscere la sintassi almeno a livello basilare di visual basic .net o c#. Cercher&amp;ograve; di non darlo per scontato ma dovr&amp;ograve; almeno assumere che conosciate i fondamenti della programmazione: che cos&amp;rsquo;&amp;egrave; un algoritmo, che cos&amp;rsquo;&amp;egrave; una variabile, che cosa si intende con il termine &lt;i&gt;tipo&lt;/i&gt;, cose del genere insomma. Si parte!&lt;/span&gt;&lt;/p&gt;
&lt;h2 style="margin:12pt 0cm 3pt;"&gt;&lt;em&gt;&lt;span style="font-size:large;"&gt;Prima lezione: I Value Type&lt;/span&gt;&lt;/em&gt;&lt;/h2&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Come potremmo cominciare il nostro studio senza parlare dei tipi che ci vengono messi a disposizione dal framework, facciamo quindi subito una netta distinzione tra &lt;i&gt;value type&lt;/i&gt; e &lt;i&gt;reference type&lt;/i&gt;: i primi contengono i valore della variabile direttamente al loro interno, i secondi invece contengono un riferimento al vero punto della memoria in cui &amp;egrave; memorizzato il valore della variabile. Le istanze di un value type vengono memorizzate nell&amp;rsquo;area di memoria chiamato &lt;i&gt;stack&lt;/i&gt;, mentre i reference type puntano a dati memorizzati nell&amp;rsquo;area di memoria chiamata &lt;i&gt;heap&lt;/i&gt;. Per chi avesse qualche dubbio sulla differenza tra i due ricadiamo purtroppo nei prerequisiti, ma potete comunque dare uno sguardo &lt;/span&gt;&lt;a href="http://it.wikipedia.org/wiki/Allocazione_dinamica_della_memoria#Allocazione_di_memoria_basata_su_heap"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;qui&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;I pi&amp;ugrave; semplici value type del framework sono i tipi primitivi, usati cos&amp;igrave; spesso dai programmatori da aver indotto i progettisti del vari linguaggi .net a definire degli alias:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;table cellpadding="0" border="1" class="MsoNormalTable" style="margin:auto auto auto 0.75pt;mso-cellspacing:1.5pt;"&gt;
&lt;thead&gt;
&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;"&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-family:Arial;font-size:10pt;mso-ansi-language:EN-GB;"&gt;Tipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;b&gt;&lt;span lang="EN-GB" style="font-family:Arial;font-size:10pt;mso-ansi-language:EN-GB;"&gt;(Visual Basic/ C# alias)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Dimensione&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;(Bytes)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td style="background:white;border:#f0f0f0;padding:0.75pt;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Range dei valori&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr style="mso-yfti-irow:1;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Char&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Char&lt;/i&gt;/&lt;i&gt;char&lt;/i&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:2;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Boolean&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Boolean&lt;/i&gt;/&lt;i&gt;bool&lt;/i&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;-&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:3;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.SByte&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(SByte/sbyte)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-128 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-&amp;lt;st1:metricconverter productid=&amp;quot;128 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;128 a&amp;lt;/st1:metricconverter&amp;gt;&amp;lt;/st1:metricconverter&amp;gt; 127&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:4;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Byte&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Byte/byte)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;1&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da &amp;lt;st1:metricconverter productid=&amp;quot;0 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;0 a&amp;lt;/st1:metricconverter&amp;gt; 255&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:5;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int16&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Short/short)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;2&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-32768 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-32768 a&amp;lt;/st1:metricconverter&amp;gt; 32767&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:6;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int32&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Integer/int)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da &amp;lt;st1:metricconverter productid=&amp;quot;-2147483648 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;-2147483648 a&amp;lt;/st1:metricconverter&amp;gt; 2147483647&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:7;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.UInt32&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(UInteger/uint)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da &amp;lt;st1:metricconverter productid=&amp;quot;0 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;0 a&amp;lt;/st1:metricconverter&amp;gt; 4294967295&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:8;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Int64&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Long/long)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -9223372036854775808 a 9223372036854775807&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:9;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Single&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Single/float)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;4&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -3.402823E+&amp;lt;st1:metricconverter productid=&amp;quot;38 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;38 a&amp;lt;/st1:metricconverter&amp;gt; 3.402823E+38&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:10;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Double&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Double/double)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;da -1.79769313486232E+&amp;lt;st1:metricconverter productid=&amp;quot;308 a&amp;quot; w:st=&amp;quot;on&amp;quot;&amp;gt;308 a&amp;lt;/st1:metricconverter&amp;gt; 1.79769313486232E+308&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:11;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.Decimal&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; &lt;i&gt;(Decimal/decimal)&lt;/i&gt; &amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;16&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Da -79228162514264337593543950335 a 79228162514264337593543950335&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style="mso-yfti-irow:12;mso-yfti-lastrow:yes;"&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;System.DateTime&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt; (&lt;i&gt;Date&lt;/i&gt;/&lt;i&gt;date&lt;/i&gt;)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p align="center" class="table-para" style="text-align:center;margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;8&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td valign="top" style="background-color:transparent;border:#f0f0f0;padding:0cm;"&gt;
&lt;p class="table-para" style="margin:4.8pt 12pt 0pt 3.6pt;"&gt;&lt;span style="font-family:Arial;font-size:10pt;"&gt;Dal 1/1/0001 12:00:00 AM al 12/31/9999 11:59:59 PM&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;La dichiarazione di una variabile &amp;egrave; molto semplice:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; i = 0;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt; = 0&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Con questo piccolo esempio abbiamo anche visto il modo di commentare nei due linguaggi di programmazione. Se vogliamo definire noi stessi un value type basta creare una &lt;i&gt;Structure&lt;/i&gt; in Visual Basic o una &lt;i&gt;struct&lt;/i&gt; in C#:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;struct&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;int&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;bool&lt;/span&gt; b;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span lang="EN-GB" style="mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Structure&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; MioTipo&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; i &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt; b &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Boolean&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Structure&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;Un&amp;rsquo;altra tipologia di value type molto utile &amp;egrave; l&amp;rsquo;enumerazione: un insieme di simboli con un valore fisso che &amp;egrave; possibile utilizzare per fornire una lista di scelte obbligate a chi debba utilizzare il nostro tipo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;enum&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:#2b91af;"&gt;Colori&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;{&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Rosso,&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Verde,&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Azzurro&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;Enum&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; Colori&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Rosso&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Verde&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Azzurro&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;Enum&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Un limite dei tipi primitivi molto sentito &amp;egrave; quello di non poter dare un valore indefinito ad una variabile (Nothing in Visual Basic, null in C#), limite superabile con l&amp;rsquo;uso dei Generics (che vedremo tra qualche articolo), in particolare il tipo generico Nullable:&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-no-proof:yes;"&gt;// C#&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-no-proof:yes;"&gt;Nullable&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&amp;lt;&lt;span style="color:blue;"&gt;int&lt;/span&gt;&amp;gt; a = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;int&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;? a = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:green;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;#39; VB&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;Dim&lt;/span&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt; a &lt;span style="color:blue;"&gt;As&lt;/span&gt; Nullable(&lt;span style="color:blue;"&gt;Of&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;) = &lt;span style="color:blue;"&gt;Nothing&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span lang="EN-GB" style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:EN-GB;mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&amp;nbsp;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Per C# &amp;egrave; possibile usare il punto interrogativo come contrazione del tipo Nullable (una vera comodit&amp;agrave;!)&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Fermiamoci qui per questo primo articolo, esercitatevi un po&amp;rsquo; perch&amp;eacute; il modo migliore di memorizzare queste cose &amp;egrave; usarle!&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&amp;lt;o:p&amp;gt;&lt;span style="font-family:Times New Roman;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-align:justify;margin:0cm 0cm 0pt;"&gt;&lt;span style="mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Appuntamento alla prossima lezione, restati sintonizzati.&amp;lt;o:p&amp;gt;&amp;lt;/o:p&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>ASP.Net ed il Viaggio verso...la Certificazione</title><link>http://dotnetcampania.org/wikis/articoli/asp-net-ed-il-viaggio-verso-la-certificazione/revision/0.aspx</link><pubDate>Tue, 16 Jun 2009 18:33:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:4</guid><dc:creator>Alessandro Forte</dc:creator><description>Current revision posted to Articoli by Alessandro Forte on 16/06/2009 20:33:51&lt;br /&gt;
&lt;p&gt;
&lt;p&gt;Bene, salve a tutti gli aderenti di questa fantastica community.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cominciamo oggi la prima di una serie di &amp;quot;tutorial&amp;quot; sulla conoscenza di ASP.Net.&lt;br /&gt;In giro ci sono migliaia di post sulle basi di ASP.Net, su come funziona e su quali sono le sue caratteristiche.&lt;br /&gt;Al fine quindi di rendere maggiormente attrattiva la serie di post che andr&amp;ograve; a pubblicare ( e soprattutto per invorgliarmi a farveli leggere), ho deciso di seguire una strada &amp;quot;rischiosa&amp;quot;, ma &amp;quot;remunerativa&amp;quot;.&lt;/p&gt;
&lt;p&gt;In che senso?&lt;/p&gt;
&lt;p&gt;Ve lo spiego subito...andr&amp;ograve; ad introdurre tutti gli argomenti step by step proprio come viene fatto nel sistema di&amp;nbsp;&lt;span&gt;Certificazione Microsoft&lt;/span&gt;.&amp;nbsp;&lt;br /&gt;Ovviamente ci&amp;ograve; non significa che voi leggete i miei posts e quindi sarete in grado di affrontare &amp;quot;agevolmente&amp;quot; i quiz per i test di certificazione.&lt;br /&gt;Ma questa serie di tutorial consentir&amp;agrave; a voi (quanto a me) di imparare (ripetere) le nozioni che un &amp;quot;certificato&amp;quot; deve conoscere!&lt;/p&gt;
&lt;p&gt;Inoltre articoler&amp;ograve; i miei posts come una specie di &amp;quot;Work in progress&amp;quot;, in cui andremo insieme ad aggiungere eventuali &amp;quot;manchevolezze&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ho gi&amp;agrave; parlato troppo quindi mettiamoci subito in marcia.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Lezione 1 - Introduzione ad Asp.Net (da notare il titolo davvero originale) .&lt;br /&gt;&lt;strong&gt;Capiamo cosa c&amp;#39;&amp;egrave; sotto&amp;nbsp;&lt;img alt="Big Smile" src="http://dotnetcampania.org/emoticons/emotion-2.gif" /&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Microsoft Visual Studio 2005 (seppur soppiantato dall&amp;#39;ormai ben pi&amp;ugrave; solido 2008) e ASP.NET 2.0 (che sta lasciando il passo alla versione 3.5) rappresentano due delle maggiori produzioni di Mamma Microsoft.&lt;/p&gt;
&lt;p&gt;In questa lezione andremo ad introdurre queste tecnologie per comprendere come funziona e cosa c&amp;#39;&amp;egrave; alla base di ASP.NET.&lt;/p&gt;
&lt;p&gt;Sicuramente tutti abbiamo sentito parlare di&amp;nbsp;Web server, Web browser e Hypertext Transfer Protocol o in forma contratta e pi&amp;ugrave; nota HTTP.&lt;br /&gt;Come tutti questi software, tecnologie e protocolli interagiscono tra di loro?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Individuiamo quindi gli attori e definiamo per ognuno di essi il suo ruolo :&lt;/p&gt;
&lt;p&gt;Cominciamo con il&amp;nbsp;&lt;strong&gt;Web Server&lt;/strong&gt;.&lt;br /&gt;Un WebServer o Servizio Web (&lt;a target="_blank" title="Server Web" href="http://it.wikipedia.org/wiki/Server_web"&gt;definizione Wikipedia&lt;/a&gt;)&amp;nbsp;&amp;egrave; un processo, e per estensione il&amp;nbsp;computer&amp;nbsp;su cui &amp;egrave; in esecuzione,&amp;nbsp;&amp;nbsp;che si occupa di fornire, su richiesta del&amp;nbsp;browser, una&amp;nbsp;pagina web&amp;nbsp;e le risorse da essa referenziate.&lt;br /&gt;Possiamo quindi tranquillamente affermare che un WebServer non &amp;egrave; altro che un&amp;nbsp;&lt;i&gt;controller&amp;nbsp;&lt;/i&gt;responsabile della ricezione (e quindi della conseguente&amp;nbsp;&lt;span&gt;Risposta&lt;/span&gt;)&amp;nbsp;delle&amp;nbsp;&lt;span&gt;&lt;span&gt;Richieste&lt;/span&gt;&amp;nbsp;&lt;/span&gt;derivanti da un Browser tramite un protocollo noto (come per esempio HTTP).&lt;/p&gt;
&lt;p&gt;Il&amp;nbsp;&lt;strong&gt;Web Browser&lt;/strong&gt;.&lt;br /&gt;Un Web Browser o Navigatore (&lt;a target="_blank" title="Browser" href="http://it.wikipedia.org/wiki/Browser"&gt;definizione Wikipedia&lt;/a&gt;)&amp;nbsp;&amp;egrave; un&amp;nbsp;programma&amp;nbsp;che consente agli utenti di visualizzare e interagire con testi, immagini e altre informazioni, tipicamente contenute in una&amp;nbsp;pagina web&amp;nbsp;di un&amp;nbsp;sito.&amp;nbsp;&lt;br /&gt;ll browser &amp;egrave; in grado di interpretare il codice&amp;nbsp;HTML&amp;nbsp;(e pi&amp;ugrave; recentemente&amp;nbsp;XHTML) e visualizzarlo in forma di&amp;nbsp;ipertesto. L&amp;#39;HTML &amp;egrave; il codice col quale la maggioranza delle pagine web nel mondo sono composte.&lt;br /&gt;Possiamo quindi tranquillamente affermare che un Web Browser&amp;nbsp;non &amp;egrave; altro che un visualizzatore di pagine HTML (o XHTML) indipendente dalla piattaforma sulla quale viene eseguito.&lt;/p&gt;
&lt;p&gt;Finiamo con&amp;nbsp;&lt;strong&gt;HTTP&lt;/strong&gt;.&lt;br /&gt;L&amp;#39;HTTP, acronimo di&amp;nbsp;Hypertext Transfer Protocol, &amp;egrave; un&amp;nbsp;protocollo&amp;nbsp;di trasferimento di un&amp;nbsp;ipertesto&amp;nbsp;che viene utilizzato per la richiesta di Pagine Web da un Web Server e per l&amp;#39;invio delle risposte dietro al Web Browser.&lt;br /&gt;L&amp;#39;HTTP difatti funziona su un meccanismo richiesta/risposta (client/server): il&amp;nbsp;client&amp;nbsp;esegue una richiesta ed il&amp;nbsp;server&amp;nbsp;restituisce la risposta. Nell&amp;#39;uso comune il client corrisponde al browser ed il server al sito web.&lt;/p&gt;
&lt;p&gt;A questo punto dell&amp;#39;articolo risulter&amp;agrave; quindi abbastanza chiaro come avviene lo scambio delle informazioni tra tutti gli attori descritti.&lt;br /&gt;Banalmente una Pagina Web residente su WebServer viene invocata da un client, il WebBrowser per l&amp;#39;appunto, tramite un protocollo di comunicazione come HTTP.&amp;nbsp;&lt;br /&gt;Questo meccanismo viene definito come&amp;nbsp;&lt;strong&gt;Richiesta (Request).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;Il WebServer elabora la richiesta proveniente dal client, e risponde inviando al Web Browser tutte le informazioni, avvalendosi del medesimo protocollo di comunicazione utilizzato nella richiesta.&lt;br /&gt;Questo meccanismo viene definito come&amp;nbsp;&lt;strong&gt;Risposta (Response)&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;Concetto da approfondire per la prossima puntata&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;Capita &amp;quot;l&amp;#39;architettura&amp;quot; concentriamoci su come essa influisce su ASP.Net introducendo&amp;nbsp;uno dei concetti che maggiormente utilizzeremo nella nostra vita di sviluppatori Asp.Net, ovvero il concetto di&amp;nbsp;&lt;strong&gt;PostBack&lt;/strong&gt;.&lt;br /&gt;Il Postback &amp;egrave; comunemente indicato come la metodologia, utilizzata da una WebForm, di inviare i dati verso un server (Difatti&lt;span&gt;PostBack&lt;/span&gt;&amp;nbsp;sta proprio ad indicare il&amp;nbsp;&lt;span&gt;MandaIndietro&lt;/span&gt;&amp;nbsp;al server i dati (che esso stesso ci ha fornito in virt&amp;ugrave; della nostra richiesta)).&lt;br /&gt;Per testare se i dati sono stati precedentemente spediti indietro al Web Server o per determinare se si tratta di una semplice richiesta di pagina, ASP.Net mette a disposizione dell&amp;#39;oggetto Page, la property&amp;nbsp;&lt;strong&gt;IsPostBack&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;b&gt;Domande e Risposte&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;Proviamo quindi a farci delle domande e a darci delle risposte (in tipico stile Marzulloniano) :&lt;/p&gt;
&lt;p&gt;1. Quale protocollo &amp;egrave; utilizzato per la comunicazione tra il Web browser e il Web server?&amp;nbsp;&lt;br /&gt;2. In ASP.NET, cosa rappresenta l&amp;#39;oggetto Request?&amp;nbsp;&lt;br /&gt;3. In ASP.NET,&amp;nbsp;cosa rappresenta l&amp;#39;oggetto&amp;nbsp;Response?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Risposte :&amp;nbsp;&lt;br /&gt;1. HTTP&amp;nbsp;&lt;br /&gt;2. La Richiesta e/o Request rappresenta la comunicazione che si instaura dal Web Browser verso il Web server.&amp;nbsp;&lt;br /&gt;3.&amp;nbsp;La Risposta e/o&amp;nbsp;Response rappresenta la comunicazione che si instaura dal Web Server verso il Web browser.&lt;br /&gt;&lt;br /&gt;Siamo quindi giunti alla fine del nostro primo tutorial su Asp.Net.&lt;br /&gt;Capisco che per molti di voi, quanto scritto in questo post, sfonda porte gi&amp;agrave; aperte...&lt;br /&gt;Ma vi assicuro che argomento dopo argomento matureremo insieme quel know-how sulla materia che ci porter&amp;agrave;, per coloro i quali vogliano realmente approfondire, a facilitare il nostro cammino (e quindi studio) verso l&amp;#39;acquisizione della Certificazione.&lt;/p&gt;
&lt;p&gt;&lt;img alt="Idea" src="http://dotnetcampania.org/emoticons/emotion-55.gif" /&gt;&amp;nbsp;See u in the next episode&amp;nbsp;&lt;img alt="Idea" src="http://dotnetcampania.org/emoticons/emotion-55.gif" /&gt;&lt;/p&gt;
&lt;/p&gt;</description></item><item><title>Architettura: sfatiamo i luoghi comuni…</title><link>http://dotnetcampania.org/wikis/articoli/architettura-sfatiamo-i-luoghi-comuni/revision/0.aspx</link><pubDate>Fri, 12 Jun 2009 17:42:12 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:3</guid><dc:creator>Michele Aponte</dc:creator><description>Current revision posted to Articoli by Michele Aponte on 12/06/2009 19:42:12&lt;br /&gt;
&lt;p&gt;Conscio della grande confusione che si fa sui termini &lt;i&gt;&amp;quot;tecnici&amp;quot;&lt;/i&gt; utilizzati nel nostro campo, confusione che io stesso non ho timore ad ammettere, ho pensato che come primo articolo per DotNetCampania potesse essere utile fare un po&amp;#39; di chiarezza sul significato dei termini che utilizzeremo in questa serie di articoli sull&amp;#39;architettura e le applicazioni enterprise.&lt;/p&gt;
&lt;p&gt;Cominciamo subito dalla definizione stessa di architettura, che meraviglia delle meraviglie, &amp;egrave; standardizzata dalla norma ANSI/IEEE Std 1471-2000, la quale ci dice che l&amp;#39;architettura &amp;egrave;&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;i&gt;&amp;quot;The fundamental organization of a system embodied in&lt;/i&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;i&gt;its components, their relationships to each other,&lt;/i&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;i&gt;and to the environment, and the&lt;/i&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;i&gt;principles guiding its design and evolution&amp;quot;&lt;a name="_ftnref1" href="/tiny_mce/plugins/paste/blank.htm#_ftn1"&gt;&lt;b&gt;[1]&lt;/b&gt;&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Quindi possiamo dire che con il termine architettura intendiamo l&amp;#39;organizzazione di un sistema in componenti relazionati tra di loro, che interagiscono con l&amp;#39;ambiente circostante secondo dei principi, principi progettuali, principi che ne guidano la progettazione e l&amp;#39;evoluzione.&lt;/p&gt;
&lt;p&gt;Chi &amp;egrave; dunque l&amp;#39;architetto? Secondo IEEE &amp;egrave; la persona, il team, l&amp;#39;azienda responsabile dell&amp;#39;architettura del sistema. Semplice? Si, ma quanto spesso confondiamo questo figura con l&amp;#39;analista o il project manager? D&amp;#39;accordo, possono essere la stessa persona, ma non svolgono assolutamente lo stesso ruolo. Quindi:&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;b&gt;Architetto != Analista &amp;amp;&amp;amp; Architetto != Project Manager&lt;/b&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;O per gli irriducibili di Visual Basic:&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;b&gt;Architetto &amp;lt;&amp;gt; Analista AND Architetto &amp;lt;&amp;gt; Project Manager&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;L&amp;#39;analista &amp;egrave; un esperto del dominio applicativo, delle regole che devono governare il sistema, che in linea di massima pu&amp;ograve; non essere un tecnico, anzi, meglio! In questo modo &amp;egrave; libero da pregiudizi implementativi che potrebbero influenzare il suo modo di percepire i requisiti del cliente, potendosi concentrare unicamente sul COSA e non sul COME.&lt;/p&gt;
&lt;p&gt;Il Project Manager &amp;egrave; tutto altro, e wikipedia &amp;egrave; chiarissima sull&amp;#39;argomento:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&amp;quot;Il &lt;b&gt;project manager&lt;/b&gt; &amp;egrave; un ruolo di gestione operativa. Tale figura &amp;egrave; il responsabile unico della valutazione, pianificazione, realizzazione e controllo di un progetto. [...] Il suo obiettivo essenziale &amp;egrave; quello di assicurare il rispetto dei costi, dei tempi e della qualit&amp;agrave; concordati e soprattutto il raggiungimento della soddisfazione del committente.&amp;quot;.&lt;/i&gt; &lt;a name="_ftnref2" href="/tiny_mce/plugins/paste/blank.htm#_ftn2"&gt;[2]&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Non sarei riuscito a dirlo meglio.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Un altro errore molto comune e confondere l&amp;#39;architettura con il design di un&amp;#39;applicazione, il design al limite &amp;egrave; una parte dell&amp;#39;architettura ma non &amp;egrave; l&amp;#39;architettura, cosa che si evince chiaramente dalla definizione data sopra:&amp;nbsp;&lt;/p&gt;
&lt;p align="center"&gt;&lt;b&gt;Design &lt;/b&gt;Є&lt;b&gt; &lt;/b&gt;&lt;b&gt;Architettura&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Cosa fa dunque un architetto? Potremmo riassumere il suo lavoro nei seguenti punti:&amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Prende i requisiti passatigli dall&amp;#39;analista.&lt;/li&gt;
&lt;li&gt;Suddivide il sistema in sottosistemi assegnabili ad un singolo programmatore o a un gruppo di lavoro.&lt;/li&gt;
&lt;li&gt;Verifica se &amp;egrave; il caso di utilizzare componenti gi&amp;agrave; esistenti per alcuni sottosistemi.&lt;/li&gt;
&lt;li&gt;Crea le specifiche da passare ai programmatori per la realizzazione del sistema.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Analizziamo questi punti. Ok, l&amp;#39;analista ha finito il suo lavoro e ci consegna i requisiti da soddisfare, da questo momento in poi questo o questi documenti diventano il nostro vangelo, ma giusto per farci un&amp;#39;idea cerchiamo di capire che cosa ha fatto in assenza dello spirito santo per redigere il nostro testo sacro.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Per prima cosa &amp;egrave; andato dal cliente e ha individuato gli &lt;b&gt;stakeholder&lt;/b&gt;, cio&amp;egrave; quei personaggi a cui deve letteralmente estorcere le informazioni che gli sono necessarie per stabilire quali sono i requisiti del sistema da realizzare.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi state domandando perch&amp;eacute; estorcere? Molto banalmente perch&amp;eacute; non &amp;egrave; assolutamente detto che sappiano cosa vogliono veramente ed &amp;egrave; qui che si vede la bravura di un analista: ridimensionare gli stakeholder su quello che un sistema software pu&amp;ograve; fare e concordare insieme quello di cui veramente hanno bisogno per ottenere un vantaggio dall&amp;#39;utilizzo del sistema che ci si appresta a realizzare.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Se alla fine del processo gli stakeholder sono soddisfatti il progetto avr&amp;agrave; successo, il che significa che probabilmente saremo pagati per il nostro lavoro, in caso contrario cominciate a chiamare l&amp;#39;avvocato. Finite le interviste e le riunioni con gli stakeholder l&amp;#39;analista definisce i &lt;b&gt;requisiti funzionali e non funzionali (scalabilit&amp;agrave;, sicurezza, ecc.)&lt;/b&gt;, di cui parleremo nel dettaglio nel prossimo articolo sull&amp;#39;architettura.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Ricevuti i requisiti e studiatili con attenzione l&amp;#39;architetto comincia a suddividere il sistema in sottosistemi sempre pi&amp;ugrave; piccoli in modo da rendere possibile la valutazione tempi e risorse. Lo scopo in questa fase e determinare il &amp;quot;costo del sistema&amp;quot; in modo da permettere a chi di dovere di verificare i margini del budget disponibile o a definire il costo preventivo con il quale fare l&amp;#39;offerta al cliente.&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;E&amp;#39; questo il momento in cui l&amp;#39;architetto decide se eventualmente &amp;egrave; il caso di utilizzare componenti gi&amp;agrave; pronte, commerciali o non, per alcuni sottosistemi cercando di tenere a bada la sua natura di programmatore che lo esorterebbe a mettere alla prova le sue capacit&amp;agrave; tecniche!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;L&amp;#39;ultima fase del suo lavoro consiste nel creare le specifiche da fornire ai programmatori per la realizzazione del sistema, il cui livello di dettaglio varia a seconda della complessit&amp;agrave; del sistema e delle competenze delle risorse coinvolte: si va da una descrizione passo passo del lavoro da svolgere, con tanto di use-case, class e sequence&amp;nbsp; diagram (in alcuni casi mi &amp;egrave; anche capitato di dover scrivere le query SQL o Linq da utilizzare), alla semplice descrizione del caso d&amp;#39;uso lasciando piena autonomia allo sviluppatore.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Nei prossimi articoli analizzeremo questi passi in maniera pi&amp;ugrave; approfondita progettando insieme un ipotetico sistema di esempio, dandoci dei requisiti e realizzando la documentazione necessaria. Naturalmente i vostri feedback e le vostre idee saranno fondamentali per simulare un vero e proprio brain storming tra architetti al fine di fare le giuste scelte per il problema che ci porremo. Alla prossima puntata.&lt;br clear="all" /&gt;&lt;/p&gt;
&lt;hr align="left" /&gt;
&lt;p&gt;&lt;a name="_ftn1" href="/tiny_mce/plugins/paste/blank.htm#_ftnref1"&gt;[1]&lt;/a&gt; http://www.iso-architecture.org/ieee-1471/&lt;/p&gt;
&lt;p&gt;&lt;a name="_ftn2" href="/tiny_mce/plugins/paste/blank.htm#_ftnref2"&gt;[2]&lt;/a&gt; http://it.wikipedia.org/wiki/Project_manager&lt;/p&gt;</description></item></channel></rss>
