<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Bugs?</title>
        <link>http://blogs.ugidotnet.org/adrian/category/1011.aspx</link>
        <description>Bugs?</description>
        <language>it-IT</language>
        <copyright>Adrian Florea</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <item>
            <title>Vita da service pack</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2009/03/26/vita-da-service-pack.aspx</link>
            <description>&lt;p&gt;Ho scoperto una cosa a mio parere strana: un metodo (&lt;a href="http://msdn.microsoft.com/en-us/library/cc491445.aspx"&gt;System.Web.UI.WebControls.ParameterCollection.Add(String, DbType, String)&lt;/a&gt;) che esiste solo nelle versioni service pack del framework .NET (2.0 SP2, 3.0 SP2, 3.5 SP1) ma non nelle versioni "normali". Mi chiedo come mai se il metodo e' stato introdotto in .NET 2.0 SP2, l'abbiano tolto dalle .NET 3.0 e .NET 3.0 SP1 per reintrodurlo nella .NET 3.0 SP2 per poi toglierlo di nuovo dalla .NET 3.5 e finalmente reintrodurlo nella .NET 3.5 SP1???...&lt;/p&gt;
&lt;p&gt;[OT] Per i tanti amici milanesi: sono a Milano dall'8 di marzo e torno in Romania settimana prossima, probabilmente mercoledi' - se vi fa piacere magari si organizza un pranzo o una cena!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/95802.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2009/03/26/vita-da-service-pack.aspx</guid>
            <pubDate>Thu, 26 Mar 2009 12:40:42 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2009/03/26/vita-da-service-pack.aspx#feedback</comments>
            <slash:comments>377</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/95802.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/95802.aspx</trackback:ping>
        </item>
        <item>
            <title>Quando C# e' piuttosto l'eccezione che la regola</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2008/11/10/quando-c-e-piuttosto-leccezione-che-la-regola.aspx</link>
            <description>&lt;p&gt;Il comportamento del compilatore C#, presentato prima &lt;a href="http://blogs.ugidotnet.org/WamBlog/archive/2008/11/01/c-uno-strano-comportamento-con-loverride.aspx"&gt;qui&lt;/a&gt; da Diego e poi nel mio &lt;a href="http://blogs.ugidotnet.org/adrian/archive/2008/11/09/quiz-sharp-71-overrideoverload.aspx"&gt;post precedente&lt;/a&gt;, sembra singolare tra gli altri compilatori piu' conosciuti .NET. Il seguente snippet C# entra in stack overflow:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;using&lt;/strong&gt; System;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Foo {&lt;br /&gt;
    &lt;strong&gt;public virtual void&lt;/strong&gt; Write(&lt;strong&gt;string&lt;/strong&gt; s) {&lt;br /&gt;
        Console.WriteLine("Foo virtual " + s);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Bar : Foo {&lt;br /&gt;
    &lt;strong&gt;public override void&lt;/strong&gt; Write(&lt;strong&gt;string&lt;/strong&gt; s) {&lt;br /&gt;
        Console.WriteLine("Bar override " + s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;strong&gt;public void&lt;/strong&gt; Write(&lt;strong&gt;string&lt;/strong&gt; s, &lt;strong&gt;params string&lt;/strong&gt;[] args) {&lt;br /&gt;
        Write("Bar overload " + s);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Program {&lt;br /&gt;
    &lt;strong&gt;static void&lt;/strong&gt; Main() {&lt;br /&gt;
        Bar bar = &lt;strong&gt;new&lt;/strong&gt; Bar();&lt;br /&gt;
        bar.Write("Ciao!"); // &lt;font color="#ff0000"&gt;Process is terminated due to StackOverflowException&lt;/font&gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;mentre per gli altri linguaggi, stampa &lt;em&gt;Bar override Ciao!&lt;/em&gt; Di seguito il codice equivalente in Visual Basic .NET, C++/CLI e Visual J#&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Imports&lt;/strong&gt; System&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Class&lt;/strong&gt; Foo&lt;br /&gt;
    &lt;strong&gt;Public Overridable Sub&lt;/strong&gt; Write(&lt;strong&gt;ByVal&lt;/strong&gt; s &lt;strong&gt;As String&lt;/strong&gt;)&lt;br /&gt;
        Console.WriteLine("Foo virtual " + s)&lt;br /&gt;
    &lt;strong&gt;End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Class&lt;/strong&gt; Bar : &lt;strong&gt;Inherits&lt;/strong&gt; Foo&lt;br /&gt;
    &lt;strong&gt;Public Overrides Sub&lt;/strong&gt; Write(&lt;strong&gt;ByVal&lt;/strong&gt; s &lt;strong&gt;As String&lt;/strong&gt;)&lt;br /&gt;
        Console.WriteLine("Bar override " + s)&lt;br /&gt;
    &lt;strong&gt;End Sub&lt;br /&gt;
&lt;br /&gt;
    Public Overloads Sub&lt;/strong&gt; Write(&lt;strong&gt;ByVal&lt;/strong&gt; s &lt;strong&gt;As String&lt;/strong&gt;, &lt;strong&gt;ParamArray&lt;/strong&gt; args &lt;strong&gt;As String&lt;/strong&gt;())&lt;br /&gt;
        Write("Bar overload " + s)&lt;br /&gt;
    &lt;strong&gt;End Sub&lt;br /&gt;
End Class&lt;br /&gt;
&lt;br /&gt;
Module&lt;/strong&gt; Program&lt;br /&gt;
    &lt;strong&gt;Sub&lt;/strong&gt; Main&lt;br /&gt;
        &lt;strong&gt;Dim&lt;/strong&gt; bar &lt;strong&gt;As&lt;/strong&gt; Bar = &lt;strong&gt;New&lt;/strong&gt; Bar&lt;br /&gt;
        bar.Write("Ciao") ' stampa &lt;font color="#ff0000"&gt;Bar override Ciao!&lt;/font&gt;&lt;br /&gt;
    &lt;strong&gt;End Sub&lt;br /&gt;
End Module&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;using namespace&lt;/strong&gt; System;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ref class&lt;/strong&gt; Foo {&lt;br /&gt;
    &lt;strong&gt;public&lt;/strong&gt;:&lt;br /&gt;
    &lt;strong&gt;virtual void&lt;/strong&gt; Write(String^ s) {&lt;br /&gt;
        Console::WriteLine("Foo virtual " + s);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;ref class&lt;/strong&gt; Bar : Foo {&lt;br /&gt;
    &lt;strong&gt;public&lt;/strong&gt;:&lt;br /&gt;
    &lt;strong&gt;virtual void&lt;/strong&gt; Write(String^ s) &lt;strong&gt;override&lt;/strong&gt; {&lt;br /&gt;
        Console::WriteLine("Bar override " + s);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;strong&gt;void&lt;/strong&gt; Write(String^ s, ... &lt;strong&gt;array&lt;/strong&gt;&amp;lt;String^&amp;gt;^ args) {&lt;br /&gt;
        Write("Bar overload " + s);&lt;br /&gt;
    }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;int&lt;/strong&gt; main() {&lt;br /&gt;
    Bar^ bar = &lt;strong&gt;gcnew&lt;/strong&gt; Bar;&lt;br /&gt;
    bar-&amp;gt;Write("Ciao!"); // stampa &lt;font color="#ff0000"&gt;Bar override Ciao!&lt;/font&gt;&lt;br /&gt;
};&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;import&lt;/strong&gt; System.*;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Foo {&lt;br /&gt;
    &lt;strong&gt;public void&lt;/strong&gt; Write(String s) {&lt;br /&gt;
        Console.WriteLine("Foo virtual " + s);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Bar &lt;strong&gt;extends&lt;/strong&gt; Foo {&lt;br /&gt;
    &lt;strong&gt;public void&lt;/strong&gt; Write(String s) {&lt;br /&gt;
        Console.WriteLine("Bar override " + s);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;strong&gt;public void&lt;/strong&gt; Write(String s, /** @attribute ParamArray() */ String[] args) {&lt;br /&gt;
        Write("Bar overload " + s);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;class&lt;/strong&gt; Program {&lt;br /&gt;
    &lt;strong&gt;public static void&lt;/strong&gt; main(String[] args) {&lt;br /&gt;
        Bar bar = &lt;strong&gt;new&lt;/strong&gt; Bar();&lt;br /&gt;
        bar.Write("Ciao"); // stampa &lt;font color="#ff0000"&gt;Bar override Ciao!&lt;/font&gt;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;Ho sempre considerato C# come linguaggio "centrale" di .NET, una chiave per capire meglio lo spirito della piattaforma - percio' mi meraviglio quando trovo comportamenti in C# che sono piuttosto l'eccezione anziche' la regola rispetto agli altri linguaggi .NET. A voi quale comportamento sembra piu' corretto/intuitivo?&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/94595.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2008/11/10/quando-c-e-piuttosto-leccezione-che-la-regola.aspx</guid>
            <pubDate>Mon, 10 Nov 2008 21:46:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2008/11/10/quando-c-e-piuttosto-leccezione-che-la-regola.aspx#feedback</comments>
            <slash:comments>225</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/94595.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/94595.aspx</trackback:ping>
        </item>
        <item>
            <title>Best practice Path.Combine</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2008/05/04/best-practice-path.combine.aspx</link>
            <description>&lt;p&gt;Se vogliamo che il nostro codice giri anche su Mono, dobbiamo utilizzare:&lt;/p&gt;
&lt;p&gt;Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "aaa.bbb")&lt;/p&gt;
&lt;p&gt;al posto di:&lt;/p&gt;
&lt;p&gt;AppDomain.CurrentDomain.BaseDirectory + "aaa.bbb"&lt;/p&gt;
&lt;p&gt;perche' su Mono, &lt;em&gt;BaseDirectory&lt;/em&gt; ritorna una stringa che non finisce in &lt;em&gt;Path.DirectorySeparatorChar&lt;/em&gt;, mentre su CLR si'. E questo va anche in generale, quando costruiamo il path da piu' pezzi, non solo nel caso della &lt;em&gt;BaseDirectory&lt;/em&gt;. Per esempio, chi utilizza &lt;a href="http://www.fyireporting.com/"&gt;fyiReporting RDL Project&lt;/a&gt; su Mono, dovrebbe modificare la riga 81 nel file Runtime/RdlEngineConfig.cs nei sorgenti del progetto e ricompilare, da:&lt;/p&gt;
&lt;p&gt;file = dir + "RdlEngineConfig.xml";&lt;/p&gt;
&lt;p&gt;a:&lt;/p&gt;
&lt;p&gt;file = Path.Combine(dir, "RdlEngineConfig.xml");&lt;/p&gt;
&lt;p&gt;perche' la stringa &lt;em&gt;dir&lt;/em&gt;, per come e' stata costruita, su CLR finisce in &lt;em&gt;Path.DirectorySeparatorChar&lt;/em&gt;, mentre su Mono no. In &lt;a href="http://www.amazon.com/Framework-Standard-Library-Annotated-Reference/dp/0321154894/"&gt;SLAR 1&lt;/a&gt; alla pagina 360, &lt;a href="http://joelmarcey.com/"&gt;Joel Marcey&lt;/a&gt; aggiunge questa nota sulla storia del metodo &lt;em&gt;Combine&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;The&lt;/em&gt; Combine &lt;em&gt;method had an interesting ride in the standardization process. It was originally part of the &lt;/em&gt;Path &lt;em&gt;class, then removed because it was thought to be too platform-specific, then added back because it was decided it was not any more platform-specific than any of the other methods in this class.&lt;/em&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/92512.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2008/05/04/best-practice-path.combine.aspx</guid>
            <pubDate>Sun, 04 May 2008 19:44:32 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2008/05/04/best-practice-path.combine.aspx#feedback</comments>
            <slash:comments>95</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/92512.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/92512.aspx</trackback:ping>
        </item>
        <item>
            <title>La risposta di Joe Duffy</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2007/01/24/68417.aspx</link>
            <description>&lt;P&gt;Bella sorpresa trovare oggi nella casella postale una gentilissima risposta da parte di &lt;A href="http://www.bluebytesoftware.com/blog/"&gt;Joe Duffy&lt;/A&gt;, Program Manager del team del CLR, a due mail che gli avevo inviato l'agosto scorso (vedi il post "&lt;A href="http://blogs.ugidotnet.org/adrian/archive/2006/08/03/45792.aspx"&gt;I delegate sono struct???&lt;/A&gt;"):&lt;/P&gt;
&lt;BLOCKQUOTE&gt;"&lt;I&gt;Adrian, first I want to apologize that this mail was not responded to sooner. I found it in my &amp;#8220;junk mail&amp;#8221; folder for some reason.&lt;BR&gt;&lt;BR&gt;Next, better late than never I suppose! Thank you very much for pointing both of these errors out, and also for the kind words about the book.&lt;BR&gt;&lt;BR&gt;You are of course right in both cases. I honestly couldn&amp;#8217;t believe I wrote those statements when I first saw your email, but sure enough I did. I have submitted them to my publisher, so they should be fixed in the next reprint.&lt;BR&gt;&lt;BR&gt;Take care,&lt;BR&gt;--joe&lt;/I&gt;"&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Vi dico solo che il &lt;A href="http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764571354.html"&gt;suo libro&lt;/A&gt;, insieme a quelli di &lt;A href="http://www.microsoft.com/mspress/books/6522.aspx"&gt;Richter&lt;/A&gt;, &lt;A href="http://www.awprofessional.com/bookstore/product.asp?isbn=0201734117&amp;amp;rl=1"&gt;Box&lt;/A&gt;, &lt;A href="http://www.apress.com/book/bookDisplay.html?bID=367"&gt;Robinson&lt;/A&gt; e &lt;A href="http://www.oreilly.com/catalog/pnetcomp2/"&gt;L&amp;#246;wy&lt;/A&gt;, sono (tutti!) dei &lt;B&gt;must-have&lt;/B&gt; per quelli che hanno la necessita' di capire a fondo .NET&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/68417.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2007/01/24/68417.aspx</guid>
            <pubDate>Wed, 24 Jan 2007 12:15:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2007/01/24/68417.aspx#feedback</comments>
            <slash:comments>20</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/68417.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/68417.aspx</trackback:ping>
        </item>
        <item>
            <title>L'errore CS0310 e le classi abstract</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2006/10/06/50304.aspx</link>
            <description>&lt;P&gt;Il messaggio dell'errore &lt;A href="http://msdn2.microsoft.com/en-us/library/42h7h44y.aspx"&gt;CS0310&lt;/A&gt; (e anche la sua descrizione) secondo me &amp;#232; incompleto, cio&amp;#232; non basta che un tipo abbia un costruttore pubblico senza parametri per poter essere utilizzato come type parameter in un tipo generico con una constructor constraint. Il messaggio dell'errore dice: "&lt;I&gt;The type 'typename' &lt;FONT color=#ff0000&gt;must have a public parameterless constructor&lt;/FONT&gt; in order to use it as parameter 'parameter' in the generic type or method 'generic'&lt;/I&gt;".&lt;/P&gt;
&lt;P&gt;Controesempio:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Courier New"&gt;abstract&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;Foo&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;B&gt;&lt;SPAN style="COLOR: #ff0000"&gt;public&lt;/SPAN&gt;&lt;FONT color=#ff0000&gt; Foo()&lt;/FONT&gt;&lt;/B&gt; { }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: Courier New"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt; &lt;SPAN style="COLOR: teal"&gt;Bar&lt;/SPAN&gt;&amp;lt;T&amp;gt; &lt;SPAN style="COLOR: blue"&gt;where&lt;/SPAN&gt; T : &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;() { }&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Il tipo Foo ha un costruttore pubblico senza parametri ma l'espressione &lt;SPAN style="COLOR: blue; FONT-FAMILY: Courier New"&gt;new&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt; &lt;SPAN style="COLOR: teal"&gt;Bar&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: teal"&gt;Foo&lt;/SPAN&gt;&amp;gt;()&lt;/SPAN&gt; non compila (error CS0310).&lt;/P&gt;
&lt;P&gt;La frase nelle &lt;A href="http://www.ecma-international.org/publications/standards/Ecma-334.htm"&gt;specifiche C#&lt;/A&gt; (&lt;I&gt;25.7&lt;/I&gt;) invece, "&lt;I&gt;If the where clause for a type parameter includes a constructor constraint (which has the form new()), it is possible to use the new operator &lt;FONT color=#ff0000&gt;to create instances of the type&lt;/FONT&gt;&lt;/I&gt;" &amp;#232; pi&amp;#249; chiara in questo senso.&lt;/P&gt;
&lt;P&gt;A proposito di costruttori default per classi abstract: in VB.NET &amp;#232; public, in C# &amp;#232; protected (a mio parere ha pi&amp;#249; senso che sia protected, come in C#).&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/50304.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2006/10/06/50304.aspx</guid>
            <pubDate>Fri, 06 Oct 2006 17:09:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2006/10/06/50304.aspx#feedback</comments>
            <slash:comments>30</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/50304.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/50304.aspx</trackback:ping>
        </item>
        <item>
            <title>System.Double.Epsilon con un pizzico di surreale</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2005/09/08/26007.aspx</link>
            <description>&lt;P&gt;Per chi ha voglia di un &lt;B&gt;&lt;FONT color=#ff0000&gt;pizzico di surreale&lt;/FONT&gt;&lt;/B&gt;, ecco uno snippet che mi ha fatto impazzire...&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;// foo.cs&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT color=#008000 size=2&gt;&lt;SPAN style="FONT-FAMILY: Courier New"&gt;//&lt;/SPAN&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;// csc /d:DUMMY foo.cs # stampa False &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;// csc foo.cs # stampa True&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System.Diagnostics;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; &lt;SPAN style="COLOR: teal"&gt;Test&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;SPAN style="COLOR: teal"&gt;Conditional&lt;/SPAN&gt;(&lt;SPAN style="COLOR: maroon"&gt;"DUMMY"&lt;/SPAN&gt;)]&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Dummy(&lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt; x)&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = x;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main()&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt; x = &lt;SPAN style="COLOR: teal"&gt;Math&lt;/SPAN&gt;.Pow(&lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt;.Epsilon, 2);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dummy(x);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;Console&lt;/SPAN&gt;.WriteLine(0 &amp;lt; x &amp;amp;&amp;amp; x &amp;lt; &lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt;.Epsilon);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Questo codice stampa &lt;B&gt;False&lt;/B&gt; se compilato col simbolo &lt;B&gt;DUMMY&lt;/B&gt; e &lt;B&gt;True&lt;/B&gt; in caso contrario, cio&amp;#232; l'espressione:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;0 &amp;lt; x &amp;amp;&amp;amp; x &amp;lt; &lt;SPAN style="COLOR: blue"&gt;double&lt;/SPAN&gt;.Epsilon&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;ha valori diversi in base al fatto che &lt;B&gt;Dummy&lt;/B&gt; (che in teoria non dovrebbe far nulla) venga chiamato prima o no...&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Non ho ancora capito perch&amp;#233;&lt;/EM&gt;.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/26007.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2005/09/08/26007.aspx</guid>
            <pubDate>Thu, 08 Sep 2005 15:17:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2005/09/08/26007.aspx#feedback</comments>
            <slash:comments>43</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/26007.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/26007.aspx</trackback:ping>
        </item>
        <item>
            <title>Obsolete assemblies</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2005/07/24/24195.aspx</link>
            <description>&lt;P&gt;Se l'attributo &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemobsoleteattributeclasstopic.asp"&gt;System.ObsoleteAttribute&lt;/A&gt; avesse il &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemattributetargetsclasstopic.asp"&gt;target&lt;/A&gt; anche su &lt;STRONG&gt;AttributeTargets.&lt;FONT color=#ff0000&gt;Assembly&lt;/FONT&gt;&lt;/STRONG&gt;, si eviterebbe di decorare &lt;EM&gt;tutti&lt;/EM&gt; i tipi di un assembly &lt;EM&gt;interamente obsoleto&lt;/EM&gt; come &lt;STRONG&gt;Obsolete&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;Per esempio, nella Beta 2, &lt;EM&gt;tutti&lt;/EM&gt; i tipi dell'assembly &lt;STRONG&gt;Microsoft.VisualC.dll&lt;/STRONG&gt; sono decorati con &lt;STRONG&gt;[Obsolete(&amp;#8221;Microsoft.VisualC.dll is an obsolete assembly and exists only for backwards compatibility.&amp;#8221;)]&lt;/STRONG&gt;. Potremmo cosi' avere, piu' semplice, una volta sola per l'intero assembly:&lt;/P&gt;
&lt;P&gt;[&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;assembly:&lt;/FONT&gt;&lt;/STRONG&gt;Obsolete(&amp;#8221;Microsoft.VisualC.dll is an obsolete assembly and exists only for backwards compatibility.&amp;#8221;)]&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/24195.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2005/07/24/24195.aspx</guid>
            <pubDate>Sun, 24 Jul 2005 17:49:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2005/07/24/24195.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/24195.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/24195.aspx</trackback:ping>
        </item>
        <item>
            <title>Bug System.ComponentModel.BindableSupport.Default?</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2005/07/06/22265.aspx</link>
            <description>&lt;P&gt;A me, il fatto che il seguente snippet stampi:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ffffff&gt;&lt;B&gt;&lt;SPAN style="BACKGROUND-COLOR: #000000"&gt;True&lt;BR&gt;True&lt;BR&gt;False&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;a console, risulta stranissimo!&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System.ComponentModel;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; &lt;SPAN style="COLOR: teal"&gt;Test&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Main()&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt; a = &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt;.Default;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt; s = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt;(&lt;SPAN style="COLOR: teal"&gt;BindableSupport&lt;/SPAN&gt;.Default);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=IT style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: Courier New"&gt;Console&lt;/SPAN&gt;&lt;SPAN lang=IT style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;.WriteLine(a.IsDefaultAttribute()); &lt;SPAN style="COLOR: green"&gt;// True&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN lang=IT style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: teal"&gt;Console&lt;/SPAN&gt;.WriteLine(s.IsDefaultAttribute()); &lt;SPAN style="COLOR: green"&gt;// True&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN lang=IT style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN lang=IT style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: teal; FONT-FAMILY: Courier New"&gt;Console&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;.WriteLine(a.Equals(s)); &lt;SPAN style="COLOR: green"&gt;// &lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#ff0000&gt;False???&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Praticamente, l'enumeration &lt;A href="http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/cpref/html/frlrfsystemcomponentmodelbindablesupportclasstopic.asp"&gt;System.ComponentModel.BindableSupport&lt;/A&gt;, cos&amp;#236; com'&amp;#232; definita nel framework:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System.ComponentModel&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;enum&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BindableSupport&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Yes,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Default &lt;SPAN style="COLOR: green"&gt;// &lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#ff0000&gt;2???&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;vede il valore dell'elemento &lt;B&gt;Default&lt;/B&gt; come &lt;FONT color=#ff0000&gt;&lt;B&gt;2&lt;/B&gt;&lt;/FONT&gt; e non come &lt;FONT color=#ff0000&gt;&lt;B&gt;0&lt;/B&gt;&lt;/FONT&gt; (che &amp;#232; quello di &lt;B&gt;No&lt;/B&gt;). In effetti, nella definizione della classe &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemComponentModelBindableAttributeClassTopic.asp"&gt;System.ComponentModel.BindableAttribute&lt;/A&gt;, che wrappa l'enumeration di sopra, abbiamo:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System.ComponentModel&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// ...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;sealed&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt; : &lt;SPAN style="COLOR: teal"&gt;Attribute&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;readonly&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt; &lt;FONT color=#ff0000&gt;&lt;B&gt;Default =&lt;/B&gt;&lt;/FONT&gt; &lt;SPAN style="COLOR: teal"&gt;BindableAttribute&lt;/SPAN&gt;.&lt;FONT color=#ff0000&gt;&lt;B&gt;No&lt;/B&gt;&lt;/FONT&gt;;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: green"&gt;// ...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Quindi, secondo me, il valore corretto di &lt;B&gt;BindableSupport.Default&lt;/B&gt; sarebbe:&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt; System.ComponentModel&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;enum&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;BindableSupport&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Yes,&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#ff0000&gt;&lt;B&gt;Default = No&lt;/B&gt;&lt;/FONT&gt; &lt;SPAN style="COLOR: green"&gt;// &lt;/SPAN&gt;&lt;B&gt;&lt;FONT color=#ff0000&gt;0&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;Cosa ne pensate? &lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/22265.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2005/07/06/22265.aspx</guid>
            <pubDate>Wed, 06 Jul 2005 08:58:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2005/07/06/22265.aspx#feedback</comments>
            <slash:comments>8</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/22265.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/22265.aspx</trackback:ping>
        </item>
        <item>
            <title>Next version of the specification arrived, some examples still wrong</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2005/06/13/18666.aspx</link>
            <description>&lt;P&gt;Ieri sono uscite &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=ca6e29d9-47d5-472a-9e65-7d9e4e98be0f&amp;amp;displaylang=en"&gt;le specifiche per la versione 8.0 (Beta 2) di Visual Basic .NET&lt;/A&gt;. Purtroppo, anche nella nuova versione, ho ritrovato gli stessi errori &lt;A href="http://blogs.ugidotnet.org/adrian/archive/2005/03/31/13238.aspx"&gt;segnalati&lt;/A&gt; e &lt;A href="http://blogs.ugidotnet.org/adrian/archive/2005/04/04/13495.aspx"&gt;confermati&lt;/A&gt; per la versione 7.1.&lt;/P&gt;
&lt;P&gt;Devo dire che non esiste proprio paragone tra la qualit&amp;#224; delle &lt;A href="http://www.ecma-international.org/publications/standards/Ecma-334.htm"&gt;specifiche di C#&lt;/A&gt; e quelle di VB .NET e non capisco bene perch&amp;#233;.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/18666.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2005/06/13/18666.aspx</guid>
            <pubDate>Mon, 13 Jun 2005 09:21:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2005/06/13/18666.aspx#feedback</comments>
            <slash:comments>17</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/18666.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/18666.aspx</trackback:ping>
        </item>
        <item>
            <title>Launch for user</title>
            <link>http://blogs.ugidotnet.org/adrian/archive/2005/05/04/15613.aspx</link>
            <description>&lt;P&gt;Non sempre quando vi appare una finestra "Just-In-Time Debugging", nel messaggio "&lt;B&gt;An exception '&lt;/B&gt;&lt;I&gt;MyNamespace.MyException&lt;/I&gt;&lt;B&gt;' has occurred in &lt;/B&gt;&lt;I&gt;MyApplication&lt;/I&gt;&lt;B&gt;.exe&lt;/B&gt;", l'eccezione debba essere una &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemexceptionclasshierarchy.asp"&gt;exception&lt;/A&gt;. Pu&amp;#242; capitare di incontrare al posto di '&lt;I&gt;MyNamespace.MyException&lt;/I&gt;', '&lt;B&gt;&lt;FONT color=#ff0000&gt;Launch for user&lt;/FONT&gt;&lt;/B&gt;' :-)&lt;/P&gt;
&lt;P&gt;Un esempio, in questo snippet:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;class&lt;/FONT&gt; Foo&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; &lt;FONT color=#0000ff&gt;static&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; Main()&lt;BR&gt;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; System&lt;B&gt;&lt;FONT color=#800000&gt;.&lt;/FONT&gt;&lt;/B&gt;Diagnostics&lt;B&gt;&lt;FONT color=#800000&gt;.&lt;/FONT&gt;&lt;/B&gt;Debugger&lt;B&gt;&lt;FONT color=#800000&gt;.&lt;/FONT&gt;&lt;/B&gt;Break();&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;} &lt;/P&gt;
&lt;P&gt;Secondo me, crea un po' di confusione il messaggio.&lt;/P&gt;&lt;img src="http://blogs.ugidotnet.org/adrian/aggbug/15613.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Florea</dc:creator>
            <guid>http://blogs.ugidotnet.org/adrian/archive/2005/05/04/15613.aspx</guid>
            <pubDate>Wed, 04 May 2005 12:59:00 GMT</pubDate>
            <comments>http://blogs.ugidotnet.org/adrian/archive/2005/05/04/15613.aspx#feedback</comments>
            <slash:comments>102</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/adrian/comments/commentRss/15613.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/adrian/services/trackbacks/15613.aspx</trackback:ping>
        </item>
    </channel>
</rss>
