<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Informatico &#187; .Net Framework 4.0</title>
	<atom:link href="http://www.bloginformatico.net/tag/net-framework-40/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bloginformatico.net</link>
	<description>L'informatica come non l'avete mai letta</description>
	<lastBuildDate>Fri, 30 Apr 2010 16:23:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>UGIDotNet Workshop Community Tour v4</title>
		<link>http://www.bloginformatico.net/2010/04/06/ugidotnet-workshop-community-tour-v4/</link>
		<comments>http://www.bloginformatico.net/2010/04/06/ugidotnet-workshop-community-tour-v4/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 09:27:36 +0000</pubDate>
		<dc:creator>Massimo</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[.Net Framework 4.0]]></category>
		<category><![CDATA[Ugidotnet]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Workshop]]></category>

		<guid isPermaLink="false">http://www.bloginformatico.net/?p=548</guid>
		<description><![CDATA[Ugidotnet in collaborazione con Microsoft Italia, organizza il 20 Maggio 2010 un workshop dedicato alle nuove tecnologie Microsoft.L&#8217;evento si terrà presso Microsoft Italia Centro Direzionale San Felice Palazzo A Via Rivoltana, 13 &#8211; Segrate (MI). L&#8216;iscrizione all&#8217;evento è gratuita e l&#8217;agenda (ancora provvisioria) prevede: 9:30 Registrazione Windows Phone 7 Series: Architettura dei Device e delle [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ugidotnet.org">Ugidotnet</a> in collaborazione con Microsoft Italia, organizza il 20 Maggio 2010 un <a href="http://www.ugidotnet.org/Meeting/Detail/cc6e608d-dc58-4087-a1d2-e3777a780b18">workshop </a>dedicato alle nuove tecnologie Microsoft.L&#8217;evento si terrà presso Microsoft Italia Centro Direzionale San Felice Palazzo A Via Rivoltana, 13 &#8211; Segrate (MI).</p>
<p>L<a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032448421&amp;Culture=it-IT">&#8216;iscrizione all&#8217;evento è gratuita</a> e l&#8217;agenda (ancora provvisioria) prevede:</p>
<p><strong>9:30 Registrazione</strong></p>
<p><strong>Windows Phone 7 Series</strong>: Architettura dei Device e delle Applicazioni     <br />Speaker: Lorenzo Barbieri [Microsoft Italia]</p>
<p>Windows Phone 7 Series è una nuova piattaforma, molto diversa dalla precedente famiglia basata su Windows Mobile 6. In questa sessione vedremo le novità relative all’hardware e all’architettura dei Device e delle applicazioni, le novità per lo sviluppo (Silverlight e XNA), e i servizi disponibili per la piattaforma (Push Notification, Location, etc…) </p>
<p><strong>Exploring Silverlight 4.0</strong>     <br />Speaker: Corrado Cavalli     <br />“Chi si ferma è perduto!” è proprio il caso di dirlo. Basta distrarsi un attimo ed ecco che è già pronta una nuova versione di Silverlight, sempre più ricca e sempre più interessante. Ci vorrebbe una giornata intera per descrivere quanto di nuovo è stato inserito percui ci limiteremo alle features più interessanti : dalla gestione della webcam alle applicazioni Out-Of-Browser full trust passando per l’installazione di un applicazione Silverlight 4.0 da chiavetta USB.</p>
<p><strong>WCF+WF</strong>: what&#8217;s new     <br />Speaker: Raffaele Rialdi</p>
<p><strong>Per informazioni:</strong></p>
<ul>
<li><a href="http://www.ugidotnet.org/Meeting/Detail/cc6e608d-dc58-4087-a1d2-e3777a780b18">Sito web Workshop sul sito Ugidotnet</a> </li>
<li><a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032448421&amp;Culture=it-IT">Iscrizione all’evento sul sito Microsoft</a> </li>
</ul>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9c6cd7ed-768b-4d4b-9712-69162d8e00dc" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/.Net+Framework+4.0" rel="tag">.Net Framework 4.0</a>,<a href="http://technorati.com/tags/Windows+Phone+7" rel="tag">Windows Phone 7</a>,<a href="http://technorati.com/tags/Visual+Studio+2010" rel="tag">Visual Studio 2010</a>,<a href="http://technorati.com/tags/Workshop" rel="tag">Workshop</a>,<a href="http://technorati.com/tags/Ugidotnet" rel="tag">Ugidotnet</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bloginformatico.net/2010/04/06/ugidotnet-workshop-community-tour-v4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lancio di Visual Studio 2010</title>
		<link>http://www.bloginformatico.net/2010/04/01/lancio-di-visual-studio-2010/</link>
		<comments>http://www.bloginformatico.net/2010/04/01/lancio-di-visual-studio-2010/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 10:26:10 +0000</pubDate>
		<dc:creator>Massimo</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[In rilievo]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[.Net Framework 4.0]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://www.bloginformatico.net/2010/04/01/lancio-di-visual-studio-2010/</guid>
		<description><![CDATA[Il 12 Aprile 2010 ci sarà il lancio ufficiale di Microsoft Visual Studio 2010.]]></description>
			<content:encoded><![CDATA[<p>Il 12 Aprile 2010 ci sarà il lancio ufficiale di Microsoft Visual Studio 2010. Per l’occasione si potrà assistere all’evento in diretta streaming sul sito di <a href="http://www.microsoft.com/italy/visualstudio/2010/evento.aspx">Microsoft Italia</a> dalle 14:00 alle 18:00.</p>
<p>L’iscrizione è gratuita ma obbligatoria. Tra le novità più importanti del nuovo Visual Studio c’è il supporto a .NET Framework 4.0, ASP.NET 4.0, ASP.NET MVC 2.0, Siverlight 4, una nuova interfaccia grafica, nuove versioni e tanto altro ancora.</p>
<p>L’agenda dell’vento prevede:</p>
<p><strong>14:00-14:30 Aspettando Visual Studio 2010&#8230;</strong></p>
<p><strong>14:30-14:45 Apertura lavori</strong></p>
<p><em>Gabriele Castellani, Evangelist Manager – Microsoft Italia<br />
Andrea Marzilli, Responsabile – HTML.it</em></p>
<p><strong>14:45-15:45 Keynote &#8211; /*LIFE RUNS ON CODE*/</strong></p>
<p><em>Vittorio Bertocci, Senior Technical Evangelist – Microsoft Corporation</em></p>
<p><strong>15:45-17:45 Sessioni tecniche</strong></p>
<p><strong>Sviluppo Web e Windows Azure con Visual Studio 2010</strong><br />
<em>Giuseppe Guerrasio, Architect Evangelist – Microsoft Italia</em><br />
Lo sviluppo di applicazioni Web spazia dai semplici point-of-presence sites alle più complesse soluzioni distribuite con architetture multi-tier, che richiedono elevata scalabilità.<br />
In questa sessione vedremo come Visual Studio 2010 e le nuove funzionalità per il Web di .NET Framework 4, salvaguardando gli skill acquisiti, mettono a disposizione una piattaforma che consente di soddisfare le esigenze delle differenti tipologie di applicazioni per il Web, consentendo anche una completa integrazione con Windows Azure e l&#8217;ambiente per il cloud computing.</p>
<p><strong>Software di qualità tramite una migliore collaborazione tra sviluppo e test</strong><br />
<em>Lorenzo Barbieri, Developer Evangelist – Microsoft Italia</em><br />
Una proficua collaborazione tra sviluppatori e tester è essenziale e può fare la differenza tra consegnare applicazioni di qualità nei tempi previsti o ritardare la consegna a causa dei bug trovati “troppo tardi”.<br />
In questa sessione vedremo come Visual Studio 2010 permette di migliorare la collaborazione tra sviluppatori e tester tramite la gestione di Bug contenenti tutte le informazioni “di supporto”, gli strumenti per analizzare tutti gli eventi e il flusso di codice dell’applicazione, oltre alle tecniche per automatizzare il test funzionale e dell’interfaccia utente.</p>
<p><strong>Sviluppo Windows e Silverlight con Visual Studio 2010</strong><br />
<em>Pietro Brambati, Developer Evangelist – Microsoft Italia</em><br />
Oggi sempre più è possibile sviluppare applicazioni che usano grafica accelerata dalle GPU, animazioni 3D e ottimizzare le performance grazie all’uso di più core. Inoltre è possibile utilizzare Silverlight per sviluppare applicazioni che, originariamente pensate per il Web, possono funzionare fuori dal browser e integrarsi con applicazioni COM riuscendo quindi a sfruttare al meglio Windows anche in questi scenari.<br />
In questa sessione vedremo all’opera questi approcci con il nuovo Visual Studio 2010.</p>
<p><strong>17:45-18:00 Chiusura lavori</strong></p>
<p><strong>Per informazioni:</strong></p>
<p><a title="http://www.microsoft.com/visualstudio/it-it/default.mspx" href="http://www.microsoft.com/visualstudio/it-it/default.mspx">http://www.microsoft.com/visualstudio/it-it/default.mspx</a></p>
<p><a title="http://www.microsoft.com/italy/visualstudio/2010/evento.aspx" href="http://www.microsoft.com/italy/visualstudio/2010/evento.aspx">http://www.microsoft.com/italy/visualstudio/2010/evento.aspx</a></p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b931af71-ac06-4323-a7ed-f1088e0de0e9" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/Microsoft">Microsoft</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio+2010">Visual Studio 2010</a>,<a rel="tag" href="http://technorati.com/tags/.Net+Framework+4">.Net Framework 4</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bloginformatico.net/2010/04/01/lancio-di-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gladiatori Fest un evento gratuito su .Net di DotNetRomaCest&#224;</title>
		<link>http://www.bloginformatico.net/2009/10/12/gladiatori-fest-un-evento-gratuito-su-net-di-dotnetromacest/</link>
		<comments>http://www.bloginformatico.net/2009/10/12/gladiatori-fest-un-evento-gratuito-su-net-di-dotnetromacest/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 15:54:44 +0000</pubDate>
		<dc:creator>Massimo</dc:creator>
				<category><![CDATA[Eventi]]></category>
		<category><![CDATA[In rilievo]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[.Net Framework]]></category>
		<category><![CDATA[.Net Framework 4.0]]></category>
		<category><![CDATA[Asp.net Mvc]]></category>
		<category><![CDATA[DotnetRomaCesta]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.bloginformatico.net/2009/10/12/gladiatori-fest-un-evento-gratuito-su-net-di-dotnetromacest/</guid>
		<description><![CDATA[Un’importante evento gratuito su .net organizzato da DotnetRomaCestà lo User Group Romano .Net]]></description>
			<content:encoded><![CDATA[<p>Con molto piacere segnaliamo un’importante <a href="http://www.dotnetromacesta.org/EventoGladiatori.aspx">evento</a> gratuito su .net organizzato da <a href="http://www.dotnetromacesta.org/">DotnetRomaCestà</a> lo User Group Romano .Net. L’incontro si svolgerà Mercoledì 21 Ottobre 2009 alle ore 8:30 presso l’Auditorium Sap Italia.</p>
<p>L’agenda prevedente una serie di sessioni incentrate su argomenti molto caldi come il framework Asp.Net MVC v1.0  e novità prossime come Asp.Net 4.0 e Asp.Net MVC v2.0. Non mancano sessioni alternative come quella sulle Api del nuovo motore di ricerca <a href="http://www.dotnetromacesta.org/">Bing</a> e una sessione dedicata al Service Broker di SQL Server 2005. Come ultima chicca un premiazione finale in cui verranno assegnati ai partecipanti alcuni premi molto azzeccati.</p>
<p>Un evento importante, di qualità elevata e soprattutto gratuito a cui non potete non partecipare se siete della zona!</p>
<p>Per maggiori informazioni:<br />
<a title="http://www.dotnetromacesta.org/EventoGladiatori.aspx" href="http://www.dotnetromacesta.org/EventoGladiatori.aspx">http://www.dotnetromacesta.org/EventoGladiatori.aspx</a></p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5d7a1d7b-ed85-4dc9-a83e-0c16d288fa95" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/.Net+Framework">.Net Framework</a>,<a rel="tag" href="http://technorati.com/tags/.Net+Framework+4.0">.Net Framework 4.0</a>,<a rel="tag" href="http://technorati.com/tags/Asp.net+Mvc">Asp.net Mvc</a>,<a rel="tag" href="http://technorati.com/tags/SQL+Server">SQL Server</a>,<a rel="tag" href="http://technorati.com/tags/DotnetRomaCesta">DotnetRomaCesta</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bloginformatico.net/2009/10/12/gladiatori-fest-un-evento-gratuito-su-net-di-dotnetromacest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le novità di C# 4.0</title>
		<link>http://www.bloginformatico.net/2009/05/12/le-novit-di-c-40/</link>
		<comments>http://www.bloginformatico.net/2009/05/12/le-novit-di-c-40/#comments</comments>
		<pubDate>Tue, 12 May 2009 16:05:03 +0000</pubDate>
		<dc:creator>Massimo</dc:creator>
				<category><![CDATA[In rilievo]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[.Net Framework]]></category>
		<category><![CDATA[.Net Framework 4.0]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C# 4.0]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://www.bloginformatico.net/?p=436</guid>
		<description><![CDATA[Cosa ci aspetta con il nuovo linguaggio targato Microsoft?]]></description>
			<content:encoded><![CDATA[<p>Il nuovo Microsoft .Net Framework 4.0 è arrivato ad uno stato avanzato di sviluppo. Forse per fine anno o metà del prossimo potremmo beneficiare non solo di una moltitudine di nuove funzionalità del .net framework ma anche del nuovo Visual Studio 2010 realizzato interamente in WPF.</p>
<p>In questo articolo ci concentreremo esclusivamente sulle novità apportate al linguaggio C# 4.0. Molte delle novità descritte in questo articolo sono già testabili scaricando e installando la <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;displaylang=en">Microsoft Pre-release Software Visual Studio 2010 and .NET Framework 4.0 Community Technology Preview</a>. Si tratta di una macchina Virtual PC con dentro Windows, Visual Studio 2010 e il .net framework già installati e configurati. Per un totale di circa 7GB di macchina virtuale!</p>
<p>Complessivamente le novità introdotte in C# 4.0 si possono riassumere nel seguente elenco:</p>
<ol>
<li>Dynamic Type Object</li>
<li>Name e Optional Arguments</li>
<li>Co-variance e Contra-variance</li>
<li>Migliorie su COM Interop</li>
</ol>
<p>Vediamo in dettaglio.</p>
<h4>Dynamic Type Object</h4>
<p>Il Dynamic Type Object è un nuovo tipo statico introdotto soprattutto a beneficio del <strong>Dynamic Language Runtime (DLR).</strong> Con la nuova parola chiave <strong><em>dynamic</em></strong> è possibile dichiarare un type che verrà risolto solo a run-time. In questo modo:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.88%; font-family: consolas,'Courier New',courier,monospace; height: 142px; max-height: 200px; font-size: 8pt; cursor: text;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> MyFunction()
{
    <span style="color: #008000">// le seguenti variabili verranno convertite</span>
    <span style="color: #008000">// implicitamente a run-time. </span>
    <span style="color: #0000ff">dynamic</span> counter = 1;
    <span style="color: #0000ff">dynamic</span> hello = <span style="color: #006080">"Hello C# 4.0"</span>;
}</pre>
</div>
<p>Su un type dichiarato come dynamic è possibile richiamare metodi, campi o proprietà, come se fosse un object. Il tutto verrà risolto automaticamente a run-time in base al type effettivo contenuto all’interno della variabile. Con questa parola chiave C# 4.0 si uniforma così ai tipici linguaggi dinamici (dynamic appunto) come Ruby o Php.</p>
<h4>Name e Optional Arguments</h4>
<p>L’optional argument è una funzionalità del linguaggio già presente in Visual Basic ed è la capacità di dichiarare come opzionale un parametro di un metodo, in questo modo:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; max-height: 200px; font-size: 8pt; cursor: text;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #008000">// il parametro i risulta essere obbligatorio</span>
<span style="color: #008000">// mentre il parametro y è optionale e per</span>
<span style="color: #008000">// default viene impostato a 0.</span>
<span style="color: #0000ff">public</span> <span style="color: #0000ff">int</span> Calc(<span style="color: #0000ff">int</span> i, <span style="color: #0000ff">int</span> y = 0)
{
    <span style="color: #008000">// corpo del metodo</span>
}

<span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> Main()
{
    <span style="color: #008000">// ho la possibilità di richiamare Calc con un</span>
    <span style="color: #008000">// solo parametro o con due, poiché il parametro</span>
    <span style="color: #008000">// y risulta essere opzionale.</span>
    <span style="color: #0000ff">int</span> result1 = Calc(5); <span style="color: #008000">// equivalente a Calc(5, 0);</span>
    <span style="color: #0000ff">int</span> result2 = Calc(10, 3)
}</pre>
</div>
<p>Il name argument invece è la facoltà di passare un parametro per nome, in questo modo:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; height: 264px; max-height: 200px; font-size: 8pt; cursor: text;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #0000ff">public</span> <span style="color: #0000ff">int</span> Calc(<span style="color: #0000ff">int</span> i, <span style="color: #0000ff">int</span> y = 0, <span style="color: #0000ff">int</span> z = 1)
{
    <span style="color: #008000">// corpo del metodo</span>
}

<span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> Main()
{
    <span style="color: #008000">// In questo modo chiamo il metodo Calc con i parametri</span>
    <span style="color: #008000">// invertiti, cioè prima passando y e poi x.</span>
    <span style="color: #0000ff">int</span> result = Calc(y: 3, i: 4); <span style="color: #008000">// equivalente a Calc(4, 3, 0);</span>

    <span style="color: #008000">// In questo, invece chiamo Calc passando i e z ma non y</span>
    <span style="color: #0000ff">int</span> result2 = Calc(z: 6, i: 3); <span style="color: #008000">// equivalente a Calc(3, 0, 6);</span>
}</pre>
</div>
<h4>Co-variance e Contra-variance</h4>
<p>Introduciamo il concetto di <strong>covarianza</strong> e <strong>contravarianza</strong>. Date due classi <em><strong>A </strong></em>e<em><strong> B</strong></em>. Dove <em><strong>B</strong></em> <strong>è una sotto classe di</strong> <em><strong>A</strong></em>, e avente una nuova classe <strong><em>C&lt;T&gt;</em></strong> si dice che <em><strong>C&lt;T&gt;</strong></em> è <strong>covariante</strong> rispetto a T se anche <em><strong>C&lt;B&gt;</strong></em> <strong>è una sotto classe di <em>C&lt;A&gt;</em></strong>. Mentre si dice che <em><strong>C&lt;T&gt;</strong></em> è <strong>contravariante</strong> rispetto a T se anche <strong><em>C&lt;A&gt;</em> è super classe di <em>C&lt;B&gt;</em>.</strong> In pratica:</p>
<ul>
<li>se <em><strong>B</strong></em> è sotto classe di <strong><em>A</em></strong></li>
<li>la classe <strong><em>C&lt;B&gt;</em></strong> è <strong>covariante</strong> rispetto a T con <em><strong>C&lt;A&gt;</strong></em> se <em><strong>C&lt;B&gt;</strong></em> è sotto classe di <strong><em>C&lt;A&gt;</em></strong></li>
<li>la classe <strong><em>C&lt;A&gt;</em></strong> è <strong>contravariante</strong> rispetto a T con <em><strong>C&lt;B&gt;</strong></em> se anche <em><strong>C&lt;A&gt;</strong></em> è super classe di <em><strong>C&lt;B&gt;</strong></em></li>
</ul>
<p>Questo risulta particolarmente interessante con i type parameter dei generics. In questo modo potremmo, per esempio, assegnare una collection di stringhe ad una collection di oggetti, dato che la classe string e sotto classe di object, o vice versa, così:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; line-height: 12pt; background-color: #f4f4f4; width: 97.5%; font-family: consolas,'Courier New',courier,monospace; height: 79px; max-height: 200px; font-size: 8pt; cursor: text;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;">IList&lt;<span style="color: #0000ff">string</span>&gt; strings = <span style="color: #0000ff">new</span> List&lt;<span style="color: #0000ff">string</span>&gt;();
IList&lt;<span style="color: #0000ff">object</span>&gt; objects = strings;</pre>
</div>
<p>I benefici della covarianza e della contravarianza non si limitano a questo aspetto, ma come esempio è chiarificatore.</p>
<h4>Migliorie su Com Interop</h4>
<p>Tra le migliorie su Com Interop citiamo:</p>
<ul>
<li>Importazione dinamica con l’utilizzo del Dynamic Type Object invece che object</li>
<li>Compilazione senza PIA (Primary Interop Assemblies) che rendevano pensante l’applicazione</li>
<li>Chiamate a metodi senza l’utilizzo di ref</li>
</ul>
<h4>Conclusioni</h4>
<p>Che dire, le novità sono davvero tante e tutte decisamente interessanti. Prima tra tutte la citata parolina magica <strong>dynamic</strong>, che introduce una vera e propria rivoluzione per un linguaggio prettamente statico come C#. Non resta che aspettare l’uscita ufficiale sia del .Net Framework 4.0 ma soprattutto del nuovissimo Visual Studio 2010 che merita veramente la visione, ma questa è un‘altra storia. <img src='http://www.bloginformatico.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h4>Risorse</h4>
<p>Alcune risorse utili:</p>
<ul>
<li><a href="http://tinyurl.com/PDC2008-NETFX4PDF">Il pdf del poster .Net Framework 4.0</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=752cb725-969b-4732-a383-ed5740f02e93">Visual Studio 2010 and .NET Framework 4.0 Training Kit</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=9f0b0214-9821-44e9-abd4-cf224f48757f">Mix It Up: Visual Studio 2010 and ASP.NET 4.0</a></li>
<li><a href="http://code.msdn.microsoft.com/csharpfuture">C# Future</a></li>
</ul>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6cc00071-dd40-4561-ad2e-4ff0dd550194" class="wlWriterEditableSmartContent" style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/.Net+Framework">.Net Framework</a>,<a rel="tag" href="http://technorati.com/tags/.Net+Framework+4.0">.Net Framework 4.0</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/C%23+4.0">C# 4.0</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio">Visual Studio</a>,<a rel="tag" href="http://technorati.com/tags/Visual+Studio+2010">Visual Studio 2010</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.bloginformatico.net/2009/05/12/le-novit-di-c-40/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
