<?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:rssdatehelper="urn:rssdatehelper"><channel><title>Domus Dot Net</title><link>http://domusdotnet.org</link><pubDate>Fri, 18 May 2012 00:00:00 GMT</pubDate><generator>umbraco</generator><description>User Group romano per lo studio e la divulgazione delle tecnologie .NET</description><copyright>Copyright ©2010-2011 DomusDotNet - Some rights reserved <br />
Il contenuto di questo sito è pubblicato sotto una <a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.it">Licenza Creative Commons Attribuzione 3.0 "Unported"</a></copyright><language>it</language><item><title>PILLOLA: 
	   Serializzare una classe derivata in WP7</title><link>
          http://domusdotnet.org/pillole/20120518-serializzare-una-classe-derivata-in-wp7.aspx</link><author>Nicolò Carandini</author><pubDate>Fri, 18 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120518-serializzare-una-classe-derivata-in-wp7.aspx</guid><content:encoded><![CDATA[ 
<p>Se utilizziamo i Data Contracts per persistere le nostre classi
nell'IsolatedStorageSettings.ApplicationSettings, è bene ricordare
che la serializzazione delle classi derivate da una classe base
richiede l'uso dell'attributo [KnownType(typeof(DerivedClass))]
nella classe base, altrimenti la serializzazione fallisce.</p>

<p>Esempio:</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
[DataContract]
</pre>

<!--CRLF-->
<pre class="alteven">
<span class="kwrd">public</span> <span
class="kwrd">class</span> MySettings
</pre>

<!--CRLF-->
<pre class="alt">
{
</pre>

<!--CRLF-->
<pre class="alteven">
  [DataMember]
</pre>

<!--CRLF-->
<pre class="alt">
  <span
class="kwrd">public</span> BaseUserSettingsClass UserSettings { get; set; }
</pre>

<!--CRLF-->
<pre class="alteven">
  <span class="rem">// …</span>
</pre>

<!--CRLF-->
<pre class="alt">
}
</pre>

<!--CRLF-->
<pre class="alteven">
&nbsp;
</pre>

<!--CRLF-->
<pre class="alt">
[DataContract]
</pre>

<!--CRLF-->
<pre class="alteven">
[KnownType(<span
class="kwrd">typeof</span>(DerivedUserSettingsClass))]
</pre>

<!--CRLF-->
<pre class="alt">
<span class="kwrd">public</span> <span
class="kwrd">class</span>  BaseUserSettingsClass
</pre>

<!--CRLF-->
<pre class="alteven">
{
</pre>

<!--CRLF-->
<pre class="alt">
  [DataMember]
</pre>

<!--CRLF-->
<pre class="alteven">
  <span class="kwrd">public</span> <span
class="kwrd">string</span> UserName { get; set; }
</pre>

<!--CRLF-->
<pre class="alt">
  <span class="rem">// …</span>
</pre>

<!--CRLF-->
<pre class="alteven">
}
</pre>

<!--CRLF-->
<pre class="alt">
&nbsp;
</pre>

<!--CRLF-->
<pre class="alteven">
[DataContract]
</pre>

<!--CRLF-->
<pre class="alt">
<span class="kwrd">public</span> <span
class="kwrd">class</span>  DerivedUserSettingsClass
</pre>

<!--CRLF-->
<pre class="alteven">
{
</pre>

<!--CRLF-->
<pre class="alt">
  [DataMember]
</pre>

<!--CRLF-->
<pre class="alteven">
  <span class="kwrd">public</span> <span
class="kwrd">int</span> VolumeLevel { get; set; }
</pre>

<!--CRLF-->
<pre class="alt">
  <span class="rem">// …</span>
</pre>

<!--CRLF-->
<pre class="alteven">
}
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>ARTICOLO: 
	   Traduzioni facili con il Widget di Microsoft Translator</title><link>
          http://domusdotnet.org/articoli/traduzioni-facili-con-il-widget-di-microsoft-translator.aspx</link><author>Massimo Bonanni</author><pubDate>Wed, 16 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/articoli/traduzioni-facili-con-il-widget-di-microsoft-translator.aspx</guid><content:encoded><![CDATA[ Microsoft Translator è un progetto di Microsoft Research che nasce con lo scopo di realizzare un prodotto di traduzione automatica affidabile, facile da utilizzare. In questo articolo verrà analizzato il modo più semplice per sfruttare le sue potenzialità: il web widget.]]></content:encoded></item><item><title>PILLOLA: 
	   Recuperare il tipo di parametro di una classe generic</title><link>
          http://domusdotnet.org/pillole/20120514-recuperare-il-tipo-di-parametro-di-una-classe-generic.aspx</link><author>Luca Cestola</author><pubDate>Mon, 14 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120514-recuperare-il-tipo-di-parametro-di-una-classe-generic.aspx</guid><content:encoded><![CDATA[ 
<p>Supponiamo di avere un'istanza basata sulla classe generica
List&lt;T&gt;. Per sapere a runtime il tipo del parametro di una
classe generica possiamo utilizzare il seguente codice:</p>

<p>C#</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
var list = <span class="kwrd">new</span> List&lt;<span
class="kwrd">string</span>&gt;();
</pre>

<!--CRLF-->
<pre class="alteven">
&nbsp;
</pre>

<!--CRLF-->
<pre class="alt">
Type type = list.GetType();
</pre>

<!--CRLF-->
<pre class="alteven">
Type[] parametersType = type.GetGenericArguments();
</pre>

<!--CRLF-->
<pre class="alt">
Console.WriteLine(<span
class="str">"Parametro di tipo: {0}"</span>, parametersType[0]);
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>

<p>&nbsp;Nel caso di un Dictionary, o di un tipo generico con più
parametri, parametersType conterrà i tipi di tutti i parametri.</p>
]]></content:encoded></item><item><title>PILLOLA: 
	   Utilizzare il Toolkit SL per Windows Phone con l'SDK 7.1 </title><link>
          http://domusdotnet.org/pillole/20120511-utilizzare-il-toolkit-sl-per-windows-phone-con-sdk-71.aspx</link><author>Nicolò Carandini</author><pubDate>Fri, 11 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120511-utilizzare-il-toolkit-sl-per-windows-phone-con-sdk-71.aspx</guid><content:encoded><![CDATA[ 
<p>La nuova versione dell'SDK WP 7.1 contiene nuove librerie per la
gestione delle "gesture", per le quali in passato si usava il
Toolkit SL.</p>

<p>Poiché entrambe le librerie definiscono la classe
GestureEventArgs:</p>

<ul>
<li>SDK 7.1 : System.Windows.Input.GestureEventArgs</li>

<li>Toolkit : Microsoft.Phone.Controls.GestureEventArgs</li>
</ul>

<p>se in un sorgente dichiariamo l'uso del Toolkit e nel codice
utilizziamo la GestureAventArgs, il compilatore ci avverte di
un'ambiguità perché non può sapere se tale classe si riferisce
all'una o all'altra definizione.<br />
Per risolvere l'ambiguità, occorre utilizzare quella dell'SDK
aggiungendo il namespace completo:
System.Windows.Input.GestureEventArgs .</p>
]]></content:encoded></item><item><title>PILLOLA: 
	   Aprire il charm di condivisione di Windows 8 da codice</title><link>
          http://domusdotnet.org/pillole/20120507-aprire-il-charm-di-condivisione-di-windows-8-da-codice.aspx</link><author>Massimo Bonanni</author><pubDate>Mon, 07 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120507-aprire-il-charm-di-condivisione-di-windows-8-da-codice.aspx</guid><content:encoded><![CDATA[ 
<p>Uno dei contratti di Windows 8 prevede la possibilità di far in
modo che il nostro applicativo sia sorgente dati per quei programmi
che permettono la condivisione di informazioni (mail, facebook,
twitter, etc., etc.).<br />
L'utente è in grado, in ogni momento di condividere (se possibile)
le informazioni proposte dalla nostra applicazione utilizzando
l'apposito charm della charm bar&nbsp;di Windows 8.<br />
Possiamo forzare l'apertura della finestra di share utilizzando il
seguente codice:</p>

<p>VB.NET</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
&nbsp;
</pre>

<!--CRLF-->
<pre class="alteven">
DataTransferManager.ShowShareUI()
</pre>

<!--CRLF-->
<pre class="alt">
&nbsp;
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>ARTICOLO: 
	   EF Code First Migrations (Parte 2)</title><link>
          http://domusdotnet.org/articoli/ef-code-first-migrations-(parte-2).aspx</link><author>Pietro Libro</author><pubDate>Wed, 02 May 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/articoli/ef-code-first-migrations-(parte-2).aspx</guid><content:encoded><![CDATA[ Seconda parte dell'articolo dedicato a Code First Migrations: evoluzione di schema e dati.]]></content:encoded></item><item><title>PILLOLA: 
	   Verificare se ci si trova in design mode nelle Metro Style Application</title><link>
          http://domusdotnet.org/pillole/20120430-verificare-se-ci-si-trova-in-design-mode-nelle-metro-style-application.aspx</link><author>Massimo Bonanni</author><pubDate>Mon, 30 Apr 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120430-verificare-se-ci-si-trova-in-design-mode-nelle-metro-style-application.aspx</guid><content:encoded><![CDATA[ 
<p>A volte può servire sapere se la nostra classe sta girando in un
contesto di esecuzione oppure semplicemente viene utilizzata da
Visual Studio all'interno del designer (e, quindi,
istanziata).<br />
Nelle Metro Application (versione Consumer Preview), possiamo
utilizzare la classe statica DesignMode di Windows.ApplicationModel
ed in particolare la sua proprietà DesignModeEnabled (che vale true
se siamo in design mode).</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
<span class="kwrd">Protected</span> <span
class="kwrd">Function</span> IsDesignMode() <span
class="kwrd">As</span> <span class="kwrd">Boolean</span>
</pre>

<!--CRLF-->
<pre class="alteven">
    <span class="kwrd">Return</span> DesignMode.DesignModeEnabled
</pre>

<!--CRLF-->
<pre class="alt">
<span class="kwrd">End</span> Function
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>PILLOLA: 
	   Un metodo di estensione per ForEach parallelo</title><link>
          http://domusdotnet.org/pillole/20120427-un-metodo-di-estensione-per-foreach-parallelo.aspx</link><author>Simone Di Stasio</author><pubDate>Fri, 27 Apr 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120427-un-metodo-di-estensione-per-foreach-parallelo.aspx</guid><content:encoded><![CDATA[ 
<p>La classe Parallel del namespace System.Threading.Tasks mette a
disposizione un metodo statico che permette di eseguire un ciclo
foreach le cui iterazioni sono eseguite in parallelo.<br />
Il seguente metodo implementa un metodo di estensione
dell'interfaccia IEnumerable per implementare un foreach parallelo
sugli elementi della stessa:</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
<span class="kwrd">public</span> <span
class="kwrd">static</span> <span
class="kwrd">class</span> Extensions
</pre>

<!--CRLF-->
<pre class="alteven">
{
</pre>

<!--CRLF-->
<pre class="alt">
    <span class="kwrd">public</span> <span
class="kwrd">static</span> <span
class="kwrd">void</span> ForEachParallel&lt;T&gt;(<span
class="kwrd">this</span> IEnumerable&lt;T&gt; l, Action&lt;T&gt; body)
</pre>

<!--CRLF-->
<pre class="alteven">
    {
</pre>

<!--CRLF-->
<pre class="alt">
        Parallel.ForEach(l, body);
</pre>

<!--CRLF-->
<pre class="alteven">
    }
</pre>

<!--CRLF-->
<pre class="alt">
}
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>
]]></content:encoded></item><item><title>PILLOLA: 
	   Sbloccare assembly scaricati dal web in Windows 8</title><link>
          http://domusdotnet.org/pillole/20120423-sbloccare-assembly-scaricati-dal-web-in-windows-8.aspx</link><author>Marco Amendola</author><pubDate>Mon, 23 Apr 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120423-sbloccare-assembly-scaricati-dal-web-in-windows-8.aspx</guid><content:encoded><![CDATA[ 
<p>Se si scaricano degli assembly dal web, anche se contenuti
all'interno di uno Zip, Windows <a
href="http://weblogs.asp.net/dixin/archive/2009/03/14/understanding-the-internet-file-blocking-and-unblocking.aspx"
 target="_blank">aggiunge un indicatore</a> che ne impedisce l'uso
all'interno di Visual Studio, per motivi di sicurezza.</p>

<p>Se si è sicuri della loro provenienza, si possono "sbloccare"
singolarmente i vari assembly (o, più rapidamente, l'intero Zip,
nel caso ne contenga diversi) utilizzando <a
href="http://msdn.microsoft.com/en-us/library/ee890038%28VS.100%29.aspx"
 target="_blank">l'apposito comando nelle proprietà del
file</a>.&nbsp;</p>

<p>Su Windows 8 CP questo tasto non è più presente; è possibile,
tuttavia, rimuovere il blocco attraverso il comando PowerShell
<em><strong>Unblock-File</strong></em>.</p>

<p>Per utilizzarlo basta aprire la console PowerShell, posizionarsi
nella cartella corretta e invocare il comando:<br />
<em>PS C:\&gt; Unblock-File x:\path\to\myAssembly.dll</em></p>

<p>Utilizzando la pipeline di PowerShell è anche possibile eseguire
lo sblocco su tutti gli assembly contenuti in una cartella e nelle
relative sottocartelle:<br />
<em>PS C:\&gt; dir -r x:\path\to\*.dll | Unblock-File</em></p>
]]></content:encoded></item><item><title>PILLOLA: 
	   Definire metodi per GET e POST di una Action con gli stessi parametri</title><link>
          http://domusdotnet.org/pillole/20120420-definire-metodi-per-get-e-post-di-una-action-con-gli-stessi-parametri.aspx</link><author>Luca Cestola</author><pubDate>Fri, 20 Apr 2012 00:00:00 GMT</pubDate><guid>
          http://domusdotnet.org/pillole/20120420-definire-metodi-per-get-e-post-di-una-action-con-gli-stessi-parametri.aspx</guid><content:encoded><![CDATA[ 
<p>Anche se non di frequente, può capitare di dover definire due
metodi differenti, uno per il metodo HTTP GET ed uno per il metodo
POST, che rispondano ad una stessa Action.<br />
<br />
Seguendo le convenzioni i metodi risulterebbero identici, pertanto
il codice non può essere compilato. in questo caso è possibile
Utilizzare un nome differente per uno dei due metodi e decorarlo
con l'attributo ActionName per specificare l'action alla quale fa
riferimento.</p>

<div class="csharpcode-wrapper" id="codeSnippetWrapper">
<pre class="alt">
<span class="kwrd">public</span> ActionResult Create()
</pre>

<!--CRLF-->
<pre class="alteven">
{
</pre>

<!--CRLF-->
<pre class="alt">
    <span class="kwrd">return</span> View();
</pre>

<!--CRLF-->
<pre class="alteven">
}
</pre>

<!--CRLF-->
<pre class="alt">
&nbsp;
</pre>

<!--CRLF-->
<pre class="alteven">
[ActionName(<span class="str">"Create"</span>)]
</pre>

<!--CRLF-->
<pre class="alt">
[HttpPost]
</pre>

<!--CRLF-->
<pre class="alteven">
<span class="kwrd">public</span> ActionResult Create_Post()
</pre>

<!--CRLF-->
<pre class="alt">
{
</pre>

<!--CRLF-->
<pre class="alteven">
    ...
</pre>

<!--CRLF-->
<pre class="alt">
    <span class="kwrd">return</span> View();
</pre>

<!--CRLF-->
<pre class="alteven">
}
</pre>

<!--CRLF--></div>

<p>&nbsp;</p>

<p>&nbsp;</p>
]]></content:encoded></item></channel></rss>
 

