<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>Scott Wojan</title>
        <link>http://geekswithblogs.net/wojan/Default.aspx</link>
        <description>DotRant BLOG</description>
        <language>en-US</language>
        <copyright>Scott Wojan</copyright>
        <managingEditor>wojohnson@rocketmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Scott Wojan</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/wojan/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Extension Methods for ToXml and FromXml</title>
            <link>http://geekswithblogs.net/wojan/archive/2011/05/18/145422.aspx</link>
            <description>&lt;p&gt;So I've found these to be useful on a couple of projects, hopefully you will also&lt;/p&gt;
&lt;div style="border: 1px solid rgb(0, 0, 128); color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot;, Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background: rgb(255, 255, 255); overflow: auto;"&gt;
&lt;ol style="background: rgb(255, 255, 255); margin: 0px; padding: 0px 0px 0px 5px;"&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/li&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.IO;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Text;&lt;/li&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Xml;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; System.Xml.Serialization;&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlExtensionMethods&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;{&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;readonly&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt;, &lt;span style="color: rgb(43, 145, 175);"&gt;XmlSerializer&lt;/span&gt;&amp;gt; Serializers;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; XmlExtensionMethods()&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    {&lt;/li&gt;
    &lt;li&gt;        Serializers = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Dictionary&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt;, &lt;span style="color: rgb(43, 145, 175);"&gt;XmlSerializer&lt;/span&gt;&amp;gt;();&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    }&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlSerializer&lt;/span&gt; GetSerializer(&lt;span style="color: rgb(43, 145, 175);"&gt;Type&lt;/span&gt; type)&lt;/li&gt;
    &lt;li&gt;    {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;//If it exists, return it&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; ((Serializers.ContainsKey(type)))&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        {&lt;/li&gt;
    &lt;li&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; Serializers[type];&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        }&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;//If not, create it, add it to the list and return it.&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xmlSerializer = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlSerializer&lt;/span&gt;(type);&lt;/li&gt;
    &lt;li&gt;        Serializers.Add(type, xmlSerializer);&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; xmlSerializer;&lt;/li&gt;
    &lt;li&gt;    }&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; Serializes the object to XML using the given xml writer settings.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="obj"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="xmlWriterSettings"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; ToXml&amp;lt;T&amp;gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; T obj, &lt;span style="color: rgb(43, 145, 175);"&gt;XmlWriterSettings&lt;/span&gt; xmlWriterSettings)&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    {&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (Equals(obj, &lt;span style="color: rgb(0, 0, 255);"&gt;default&lt;/span&gt;(T)))&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        {&lt;/li&gt;
    &lt;li&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Empty;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        }&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; memoryStream = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;MemoryStream&lt;/span&gt;())&lt;/li&gt;
    &lt;li&gt;        {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xmlSerializer = GetSerializer(obj.GetType());&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            &lt;span style="color: rgb(0, 128, 0);"&gt;//Remove the xmlns attribute.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xmlnsEmpty = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlSerializerNamespaces&lt;/span&gt;();&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            xmlnsEmpty.Add(&lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Empty, &lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt;.Empty);&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xmlTextWriter = &lt;span style="color: rgb(43, 145, 175);"&gt;XmlWriter&lt;/span&gt;.Create(memoryStream, xmlWriterSettings))&lt;/li&gt;
    &lt;li&gt;            {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                xmlSerializer.Serialize(xmlTextWriter, obj, xmlnsEmpty);&lt;/li&gt;
    &lt;li&gt;                memoryStream.Seek(0, &lt;span style="color: rgb(43, 145, 175);"&gt;SeekOrigin&lt;/span&gt;.Begin); &lt;span style="color: rgb(0, 128, 0);"&gt;//Rewind the Stream.&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            }&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xml = xmlWriterSettings.Encoding.GetString(memoryStream.ToArray());&lt;/li&gt;
    &lt;li&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; xml;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        }&lt;/li&gt;
    &lt;li&gt;    }&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; Serializes the object to XML, with or without the declaration.&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="obj"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="omitXmlDeclaration"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;Gets or sets a value indicating whether to write an XML declaration.&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; ToXml&amp;lt;T&amp;gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; T obj, &lt;span style="color: rgb(0, 0, 255);"&gt;bool&lt;/span&gt; omitXmlDeclaration)&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    {&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; obj.ToXml(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlWriterSettings&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        {&lt;/li&gt;
    &lt;li&gt;            Encoding = &lt;span style="color: rgb(43, 145, 175);"&gt;Encoding&lt;/span&gt;.UTF8,&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            OmitXmlDeclaration = omitXmlDeclaration&lt;/li&gt;
    &lt;li&gt;        });&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    }&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; Serializes the object to XML&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="obj"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; ToXml&amp;lt;T&amp;gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; T obj)&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    {&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; obj.ToXml(&lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    }&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; Deserializes the object from xml.&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;typeparam name="T"&amp;gt;&amp;lt;/typeparam&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;param name="xml"&amp;gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(128, 128, 128);"&gt;///&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; T FromXml&amp;lt;T&amp;gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; xml)&lt;/li&gt;
    &lt;li&gt;    {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; s = GetSerializer(&lt;span style="color: rgb(0, 0, 255);"&gt;typeof&lt;/span&gt;(T));&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; settings = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlReaderSettings&lt;/span&gt; { ConformanceLevel = &lt;span style="color: rgb(43, 145, 175);"&gt;ConformanceLevel&lt;/span&gt;.Auto };&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; stringReader = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;StringReader&lt;/span&gt;(xml))&lt;/li&gt;
    &lt;li&gt;        {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xmlReader = &lt;span style="color: rgb(43, 145, 175);"&gt;XmlReader&lt;/span&gt;.Create(stringReader, settings))&lt;/li&gt;
    &lt;li&gt;            {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; obj = s.Deserialize(xmlReader);&lt;/li&gt;
    &lt;li&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; (T)obj;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;            }&lt;/li&gt;
    &lt;li&gt;        }&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    }&lt;/li&gt;
    &lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The following code...&lt;/p&gt;
&lt;div style="border: 1px solid rgb(0, 0, 128); color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot;, Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background: rgb(255, 255, 255); overflow: auto;"&gt;
&lt;ol style="background: rgb(255, 255, 255); margin: 0px; padding: 0px 0px 0px 5px;"&gt;
    &lt;li&gt;[&lt;span style="color: rgb(43, 145, 175);"&gt;Serializable&lt;/span&gt;]&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;TestClass&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;{&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;DateTime&lt;/span&gt;? DateSent { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; SomeTextValue { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;decimal&lt;/span&gt; SomeDecimalValue { &lt;span style="color: rgb(0, 0, 255);"&gt;get&lt;/span&gt;; &lt;span style="color: rgb(0, 0, 255);"&gt;set&lt;/span&gt;; }&lt;/li&gt;
    &lt;li&gt;}&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Program&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;{&lt;/li&gt;
    &lt;li&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; Main(&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;[] args)&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;    {&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; testClass = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;TestClass&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                            {&lt;/li&gt;
    &lt;li&gt;                                DateSent = &lt;span style="color: rgb(43, 145, 175);"&gt;DateTime&lt;/span&gt;.Now,&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                                SomeDecimalValue = 22.33m,&lt;/li&gt;
    &lt;li&gt;                                SomeTextValue = &lt;span style="color: rgb(163, 21, 21);"&gt;"This is a test"&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                            };&lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(testClass.ToXml());&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(testClass.ToXml(&lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;));&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; xml = testClass.ToXml(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;XmlWriterSettings&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;                                         {&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                                             Indent = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;,&lt;/li&gt;
    &lt;li&gt;                                             Encoding = &lt;span style="color: rgb(43, 145, 175);"&gt;Encoding&lt;/span&gt;.ASCII&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;                                         });&lt;/li&gt;
    &lt;li&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(xml);&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt; &lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ReadKey();&lt;/li&gt;
    &lt;li&gt;    }&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Would produce:&lt;/p&gt;
&lt;div style="border: 1px solid rgb(0, 0, 128); color: rgb(0, 0, 0); font-family: &amp;quot;Courier New&amp;quot;, Courier, Monospace; font-size: 10pt;"&gt;
&lt;div style="background: rgb(255, 255, 255); overflow: auto;"&gt;
&lt;ol style="background: rgb(255, 255, 255); margin: 0px; padding: 0px 0px 0px 5px;"&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;utf-8&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;?&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;2011-05-18T08:32:37.9236147-05:00&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;This is a test&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;22.33&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;2011-05-18T08:32:37.9236147-05:00&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;This is a test&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;22.33&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt; &lt;/li&gt;
    &lt;li&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt; &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;us-ascii&lt;/span&gt;"&lt;span style="color: rgb(0, 0, 255);"&gt;?&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;2011-05-18T08:34:41.8800091-05:00&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;DateSent&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;This is a test&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeTextValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;22.33&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;SomeDecimalValue&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li style="background: rgb(243, 243, 243);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;TestClass&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/145422.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2011/05/18/145422.aspx</guid>
            <pubDate>Wed, 18 May 2011 16:47:38 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/145422.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2011/05/18/145422.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/145422.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/145422.aspx</trackback:ping>
        </item>
        <item>
            <title>An open plea to Microsoft to fix the serializers in WCF.</title>
            <category>Rants</category>
            <link>http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx</link>
            <description>&lt;p&gt;I simply DO NOT understand how Microsoft can be this far along with a tool like WCF and it STILL tout it as being an "Enterprise" tool.&lt;/p&gt;
&lt;p&gt;For example... The following is a simple xsd schema with a VERY simple data contract that any enterprise would expect an "enterprise system" to be able to handle:&lt;/p&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xml &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;" &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:schema &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;id&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;Sample&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;targetNamespace&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://tempuri.org/Sample.xsd&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;elementFormDefault&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;qualified&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://tempuri.org/Sample.xsd&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;xmlns:mstns&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://tempuri.org/Sample.xsd&lt;/span&gt;"&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;xmlns:xs&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://www.w3.org/2001/XMLSchema&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt; &lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:element &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;SomeDataElement&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:documentation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;This documents the data element. This sure would be nice for consumers to see!&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;xs:documentation&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:complexType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:all&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:element &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;Description&lt;/span&gt;" &lt;span style="color: red"&gt;minOccurs&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;0&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:simpleType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:restriction &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;base&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;xs:string&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;              &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:minLength &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;value&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;0&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;              &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:maxLength &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;value&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;255&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;            &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:restriction&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;          &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:simpleType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:element&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:all&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:attribute &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;name&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;IPAddress&lt;/span&gt;" &lt;span style="color: red"&gt;use&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;required&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:documentation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;Another explanation!  WOW!&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;xs:documentation&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:simpleType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:restriction &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;base&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;xs:string&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:pattern &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;value&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])&lt;/span&gt;"&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;          &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:restriction&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:simpleType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:attribute&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:complexType&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:element&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:schema&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt; &lt;/div&gt;
&lt;p&gt;An minimal example xml document would be:&lt;/p&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xml &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;"&lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue"&gt; ?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;SomeDataElement&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://tempuri.org/Sample.xsd&lt;/span&gt;" &lt;span style="color: red"&gt;IPAddress&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.1.168.10&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;SomeDataElement&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;With the max example being: &lt;/p&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xml &lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;version&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;"&lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;"&lt;span style="color: blue"&gt; ?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;SomeDataElement&lt;/span&gt;&lt;span style="color: red; font-size: 9.5pt"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;=&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;"&lt;span style="color: blue"&gt;http://tempuri.org/Sample.xsd&lt;/span&gt;" &lt;span style="color: red"&gt;IPAddress&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.1.168.10&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;Description&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt"&gt;ddd&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Description&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="line-height: normal"&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;SomeDataElement&lt;/span&gt;&lt;span style="color: blue; font-size: 9.5pt"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;This schema simply CANNOT be exposed by WCF. &lt;/p&gt;
&lt;p&gt;Let's list why: &lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;svcutil.exe will not generate classes for you because it can't read an xsd with &lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt;.&lt;/li&gt;
    &lt;li&gt;Even if you remove the documentation, the DataContractSerializer DOES NOT support attributes so IPAddress would become an element this not meeting the contract&lt;/li&gt;
    &lt;li&gt;xsd.exe could generate classes but it is a very legacy tool, generates legacy code, and you still suffer from the following issues:&lt;/li&gt;
    &lt;li&gt;NONE of the serializers support emitting of the &lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:annotation&lt;/span&gt; documentation.  You'd think a consumer would really like to have as much documentation as possible!&lt;/li&gt;
    &lt;li&gt;NONE of the serializers support the enforcement of &lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:restriction&lt;/span&gt; so you can forget about the &lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:&lt;/span&gt;&lt;font color="#a31515" size="2"&gt;minLength&lt;/font&gt;, &lt;font color="#a31515" size="2"&gt;&lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:&lt;/span&gt;maxLength&lt;/font&gt;, or &lt;span style="color: #a31515; font-size: 9.5pt"&gt;xs:pattern&lt;/span&gt; enforcement.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Microsoft... please, please, please, please look at putting the work into your serializers so that they support &lt;u&gt;the very basics &lt;/u&gt;of designing enterprise data contracts!!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/143086.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx</guid>
            <pubDate>Fri, 10 Dec 2010 18:40:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/143086.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2010/12/10/143086.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/143086.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/143086.aspx</trackback:ping>
        </item>
        <item>
            <title>Multithreaded queue with exception handling and progress reporting</title>
            <link>http://geekswithblogs.net/wojan/archive/2010/09/08/141682.aspx</link>
            <description>&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt;Below is a multithreaded queue with progress reporting and nice exception handling that I implemented for a project. I hope it might help someone else. You can copy and paste the following code into a console app to see how to use it.&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; System;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; System.Collections.Generic;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; System.ComponentModel;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; System.Diagnostics;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;using&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; System.Threading;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;namespace&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; WorkQueueTest&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&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: blue;"&gt;object&lt;/span&gt; locker = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: blue;"&gt;object&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&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;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: green;"&gt;//You can play with these values to test&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;var&lt;/span&gt; workQueueSettings = &lt;span style="color: blue;"&gt;new&lt;/span&gt; {NumberOfTasks = 6, NumberOfTaskSteps = 3, TaskStepSleepTime = 500, NumberOfThreads = 3};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;var&lt;/span&gt; nonThreadingTime = workQueueSettings.NumberOfTasks * workQueueSettings.NumberOfTaskSteps * workQueueSettings.TaskStepSleepTime;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"====================\nWithout a work queue, this would take {0} milliseconds\n===================="&lt;/span&gt;, nonThreadingTime);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;var&lt;/span&gt; workQueue = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;WorkQueue&lt;/span&gt;(workQueueSettings.NumberOfThreads);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;var&lt;/span&gt; stopWatch = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Stopwatch&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            stopWatch.Start();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; workQueueSettings.NumberOfTasks; i++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;var&lt;/span&gt; index = i;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                workQueue.Enqueue(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                      {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                          OnException = OnException,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                          OnProgressChanged = OnProgressChanged,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                          Task = onProgressChangedCallBack =&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                          {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;                                              #region&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt; - Code to actually do stuff goes here... the rest of this is sample fluff&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;span style="color: green;"&gt;//&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;span style="color: blue;"&gt;var&lt;/span&gt; taskName = &lt;span style="color: rgb(163, 21, 21);"&gt;"Task #"&lt;/span&gt; + index;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;span style="color: green;"&gt;//fake some long running process&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; j = 0; j &amp;lt; workQueueSettings.NumberOfTaskSteps; j++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                                  &lt;span style="color: rgb(43, 145, 175);"&gt;Thread&lt;/span&gt;.Sleep(workQueueSettings.TaskStepSleepTime);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                                  &lt;span style="color: blue;"&gt;var&lt;/span&gt; percent = (&lt;span style="color: blue;"&gt;int&lt;/span&gt;)(((&lt;span style="color: blue;"&gt;decimal&lt;/span&gt;)j / workQueueSettings.NumberOfTaskSteps) * 100);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                                  onProgressChangedCallBack(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;ProgressChangedEventArgs&lt;/span&gt;(percent, taskName));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;span style="color: blue;"&gt;if&lt;/span&gt; (workQueueSettings.NumberOfTasks&amp;gt;2 &amp;amp;&amp;amp; index == 2)&lt;span style="color: green;"&gt;//fake a sample exception&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                                  &lt;span style="color: blue;"&gt;throw&lt;/span&gt; &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt;(&lt;span style="color: rgb(163, 21, 21);"&gt;"Some fake exception."&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              onProgressChangedCallBack(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;ProgressChangedEventArgs&lt;/span&gt;(100, taskName));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color: blue; font-size: 9.5pt;"&gt;                                              #endregion&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                          }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                              &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                                      });&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            workQueue.WaitForTasksToComplete();&lt;span style="color: green;"&gt;//wait for the tasks to complete before continuing&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            workQueue.Stop(&lt;span style="color: blue;"&gt;false&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            stopWatch.Stop();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"====================\nTotal time = {0} milliseconds\n====================\nPress any key to exit"&lt;/span&gt;, stopWatch.ElapsedMilliseconds);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ReadLine();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnException(&lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;lock&lt;/span&gt; (locker)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ForegroundColor = &lt;span style="color: rgb(43, 145, 175);"&gt;ConsoleColor&lt;/span&gt;.Red;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"EXCEPTION: {0}"&lt;/span&gt;, ex);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ResetColor();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;static&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; OnProgressChanged(&lt;span style="color: rgb(43, 145, 175);"&gt;ProgressChangedEventArgs&lt;/span&gt; eventArgs)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;lock&lt;/span&gt; (locker)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;switch&lt;/span&gt; (eventArgs.ProgressPercentage)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;case&lt;/span&gt; 0:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ForegroundColor = &lt;span style="color: rgb(43, 145, 175);"&gt;ConsoleColor&lt;/span&gt;.Yellow;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"Starting {0}"&lt;/span&gt;, eventArgs.UserState);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;case&lt;/span&gt; 100:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ForegroundColor = &lt;span style="color: rgb(43, 145, 175);"&gt;ConsoleColor&lt;/span&gt;.Green;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"Completed 100% of {0}"&lt;/span&gt;, eventArgs.UserState);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;default&lt;/span&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163, 21, 21);"&gt;"Completed {0} of {1}"&lt;/span&gt;, eventArgs.ProgressPercentage, eventArgs.UserState);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: blue;"&gt;break&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;Console&lt;/span&gt;.ResetColor();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt;&amp;gt; OnException { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;ProgressChangedEventArgs&lt;/span&gt;&amp;gt; OnProgressChanged { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;virtual&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;ProgressChangedEventArgs&lt;/span&gt;&amp;gt;&amp;gt; Task { &lt;span style="color: blue;"&gt;get&lt;/span&gt;; &lt;span style="color: blue;"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;WorkQueue&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;readonly&lt;/span&gt; &lt;span style="color: blue;"&gt;object&lt;/span&gt; locker = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: blue;"&gt;object&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;readonly&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Thread&lt;/span&gt;[] threads;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;private&lt;/span&gt; &lt;span style="color: blue;"&gt;readonly&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Queue&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt;&amp;gt; queue = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Queue&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;internal&lt;/span&gt; &lt;span style="color: blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;QueueStopWorkItem&lt;/span&gt; : &lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt;{}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; WorkQueue(&lt;span style="color: blue;"&gt;int&lt;/span&gt; workerCount)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            threads = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Thread&lt;/span&gt; [workerCount];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: green;"&gt;// Create and start a separate thread for each worker&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; workerCount; i++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                (threads [i] = &lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;Thread&lt;/span&gt; (RunWorkItem)).Start();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Stop (&lt;span style="color: blue;"&gt;bool&lt;/span&gt; waitForWorkersToComplete)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;if&lt;/span&gt; (waitForWorkersToComplete == &lt;span style="color: blue;"&gt;false&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;lock&lt;/span&gt; (locker)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    queue.Clear();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: green;"&gt;// Enqueue stop worker item for each worker to make each exit.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; threads.Length; i++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                Enqueue(&lt;span style="color: blue;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;QueueStopWorkItem&lt;/span&gt;());&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: green;"&gt;// Wait for threads to finish&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;if&lt;/span&gt; (waitForWorkersToComplete)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;for&lt;/span&gt; (&lt;span style="color: blue;"&gt;var&lt;/span&gt; i = 0; i &amp;lt; threads.Length; i++)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    threads[i].Join();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; Enqueue (&lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt; workItem)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;lock&lt;/span&gt; (locker)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                queue.Enqueue(workItem); &lt;span style="color: green;"&gt;//Push one element into the queue.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;Monitor&lt;/span&gt;.Pulse(locker);   &lt;span style="color: green;"&gt;//Release the waiting thread&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;void&lt;/span&gt; RunWorkItem()&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            &lt;span style="color: blue;"&gt;while&lt;/span&gt; (&lt;span style="color: blue;"&gt;true&lt;/span&gt;)&lt;span style="color: green;"&gt;// loop until a stop work item is found.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: rgb(43, 145, 175);"&gt;WorkItem&lt;/span&gt; item;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;lock&lt;/span&gt; (locker)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;while&lt;/span&gt; (queue.Count == 0)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: rgb(43, 145, 175);"&gt;Monitor&lt;/span&gt;.Wait(locker); &lt;span style="color: green;"&gt;////Wait, if the queue is busy.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    item = queue.Dequeue();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;if&lt;/span&gt; (item &lt;span style="color: blue;"&gt;is&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;QueueStopWorkItem&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;return&lt;/span&gt;; &lt;span style="color: green;"&gt;// Time to exit.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;try&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    item.Task(item.OnProgressChanged); &lt;span style="color: green;"&gt;// Execute item.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                &lt;span style="color: blue;"&gt;catch&lt;/span&gt;(&lt;span style="color: rgb(43, 145, 175);"&gt;Exception&lt;/span&gt; ex)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;if&lt;/span&gt; (item.OnException != &lt;span style="color: blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        item.OnException(ex);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                    &lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                        &lt;span style="color: blue;"&gt;throw&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;                }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        &lt;span style="color: blue;"&gt;public&lt;/span&gt; &lt;span style="color: blue;"&gt;void&lt;/span&gt; WaitForTasksToComplete()&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;            Stop(&lt;span style="color: blue;"&gt;true&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: 9.5pt;"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt;The result should look like the following:&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt; &lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.25in;"&gt; &lt;img src="http://geekswithblogs.net/images/geekswithblogs_net/wojan/10492/r_Untitled.png" alt="" /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/141682.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2010/09/08/141682.aspx</guid>
            <pubDate>Wed, 08 Sep 2010 16:46:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/141682.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2010/09/08/141682.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/141682.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/141682.aspx</trackback:ping>
        </item>
        <item>
            <title>SimpleWcf - WCF 4.0 made easy</title>
            <link>http://geekswithblogs.net/wojan/archive/2010/08/13/simplewcf.aspx</link>
            <description>&lt;p&gt;I just released a new project on CodePlex called SimpleWcf"&lt;/p&gt;
&lt;p&gt;SimpleWcf provides a way to essentially do “simple, configuration-less, file-less, WCF 4.0”. It works by discovering services using reflection and assumes a convention is intended for the namespaces. &lt;/p&gt;
&lt;p&gt;It leverages a lot of the great new baked in defaults in WCF 4.0.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://simplewcf.codeplex.com/documentation"&gt;http://simplewcf.codeplex.com/documentation&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/141299.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2010/08/13/simplewcf.aspx</guid>
            <pubDate>Fri, 13 Aug 2010 15:18:46 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/141299.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2010/08/13/simplewcf.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/141299.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/141299.aspx</trackback:ping>
        </item>
        <item>
            <title>Loading symbols in Visual Studio 2008 Slow</title>
            <link>http://geekswithblogs.net/wojan/archive/2010/04/01/139042.aspx</link>
            <description>&lt;p&gt;I was fighting with this issue today... Visual Studio was taking FOREVER to load the symbol files (.pdb) in order to start debugging.  It seems if you clear all of your break points, the issue is corrected.  Hope this helps someone.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/139042.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2010/04/01/139042.aspx</guid>
            <pubDate>Thu, 01 Apr 2010 20:32:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/139042.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2010/04/01/139042.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/139042.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/139042.aspx</trackback:ping>
        </item>
        <item>
            <title>Is it cold in here?</title>
            <link>http://geekswithblogs.net/wojan/archive/2009/08/19/134195.aspx</link>
            <description>&lt;p&gt;Wow, so I just had to install the JRE for a product and was shocked to see the following:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Java... now with Bing?" src="http://geekswithblogs.net/images/geekswithblogs_net/wojan/10492/r_bing.JPG" /&gt;&lt;/p&gt;
&lt;p&gt;AND they recommend it! &lt;/p&gt;
&lt;p&gt;Hell hath frozen!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/134195.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2009/08/19/134195.aspx</guid>
            <pubDate>Wed, 19 Aug 2009 18:01:56 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/134195.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2009/08/19/134195.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/134195.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/134195.aspx</trackback:ping>
        </item>
        <item>
            <title>JQuery LightBox Max Height and Width</title>
            <link>http://geekswithblogs.net/wojan/archive/2009/06/17/jquerylightbox.aspx</link>
            <description>&lt;p&gt;I needed &lt;a target="_blank" href="http://www.huddletogether.com/projects/lightbox2/#download"&gt;lightbox 2&lt;/a&gt; functionality for a project I'm working on, but didn't want the overhead of having to include prototype, scriptaculous, et al that comes with it since we are already using JQuery.  I found the excellent &lt;a target="_blank" href="http://leandrovieira.com/projects/jquery/lightbox/"&gt;JQuery lightbox plugin&lt;/a&gt; written by &lt;font face=""&gt;Leandro Vieira Pinho and works well, but I needed to be able to set the max height and width so I had to mod the code as follows:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;pre&gt;settings = jQuery.extend({
    maxWidth: null,
    maxHeight: null,

...

function _resize_container_image_box(intImageWidth,intImageHeight) {
    //rescale if necessary
    if((settings.maxWidth != null &amp;amp;&amp;amp; settings.maxHeight != null) &amp;amp;&amp;amp; (intImageWidth &amp;gt; settings.maxWidth || intImageHeight &amp;gt; settings.maxHeight)){
	var isWider = intImageWidth &amp;gt; intImageHeight;//is the image wide or tall?
	var scale = isWider ?  settings.maxWidth/intImageWidth : settings.maxHeight/intImageHeight;
	intImageWidth = intImageWidth * scale;
	intImageHeight = intImageHeight * scale;
     }

     $('#lightbox-image').height(intImageHeight); 
     $('#lightbox-image').width(intImageWidth);  

...
&lt;/pre&gt;
Now you can specify a max width and height like:&lt;br /&gt;
&lt;pre&gt;    $('.yourClass a').lightBox({
            maxHeight: 500,
            maxWidth: 700
    });
&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/132879.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2009/06/17/jquerylightbox.aspx</guid>
            <pubDate>Wed, 17 Jun 2009 14:19:54 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/132879.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2009/06/17/jquerylightbox.aspx#feedback</comments>
            <slash:comments>34</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/132879.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/132879.aspx</trackback:ping>
        </item>
        <item>
            <title>Sir... We're not the taco stand...</title>
            <link>http://geekswithblogs.net/wojan/archive/2009/05/28/132480.aspx</link>
            <description>&lt;p&gt;This hits home also!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;object width="853" height="505"&gt;&lt;embed height="505" type="application/x-shockwave-flash" width="853" src="http://www.youtube.com/v/R2a8TRSgzZY&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x006699&amp;amp;color2=0x54abd6" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/132480.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2009/05/28/132480.aspx</guid>
            <pubDate>Thu, 28 May 2009 23:35:29 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/132480.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2009/05/28/132480.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/132480.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/132480.aspx</trackback:ping>
        </item>
        <item>
            <title>The Downfall of Agile Hitler...</title>
            <link>http://geekswithblogs.net/wojan/archive/2009/05/09/131926.aspx</link>
            <description>&lt;p&gt;This had me rolling on the floor.  Hope someone else can appreciate it.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;object width="425" height="344"&gt;&lt;embed height="344" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/l1wKO3rID9g&amp;amp;hl=en&amp;amp;fs=1" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/131926.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2009/05/09/131926.aspx</guid>
            <pubDate>Sat, 09 May 2009 15:49:33 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/131926.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2009/05/09/131926.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/131926.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/131926.aspx</trackback:ping>
        </item>
        <item>
            <title>Using PostSharp without installing via the MSI</title>
            <link>http://geekswithblogs.net/wojan/archive/2009/01/14/128673.aspx</link>
            <description>So, it took me forever today to figure out how to get &lt;a target="_blank" href="http://www.postsharp.org"&gt;PostSharp&lt;/a&gt; working without installing it 'globally' with the msi installer.&lt;br /&gt;
&lt;br /&gt;
In a nutshell, you have to include a directory for example &lt;font style="BACKGROUND-COLOR: #ffff99"&gt;/lib/ &lt;/font&gt;with all of the PostSharp baggage: &lt;br /&gt;
&lt;ul&gt;
    &lt;li&gt;Default.psproj &lt;/li&gt;
    &lt;li&gt;PostSharp.targets &lt;/li&gt;
    &lt;li&gt;PostSharp-1.0.targets &lt;/li&gt;
    &lt;li&gt;PostSharp-1.0.version &lt;/li&gt;
    &lt;li&gt;PostSharp-AppDomain.config &lt;/li&gt;
    &lt;li&gt;PostSharp-Platform.config &lt;/li&gt;
    &lt;li&gt;PostSharp.Core.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.Core.pdb* &lt;/li&gt;
    &lt;li&gt;PostSharp.Core.XmlSerializers.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.exe &lt;/li&gt;
    &lt;li&gt;PostSharp.exe.config &lt;/li&gt;
    &lt;li&gt;PostSharp.pdb* &lt;/li&gt;
    &lt;li&gt;PostSharp.Laos.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.Laos.pdb* &lt;/li&gt;
    &lt;li&gt;PostSharp.Laos.psplugin &lt;/li&gt;
    &lt;li&gt;PostSharp.Laos.Weaver.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.Laos.Weaver.pdb* &lt;/li&gt;
    &lt;li&gt;PostSharp.MSBuild.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.MSBuild.pdb* &lt;/li&gt;
    &lt;li&gt;PostSharp.Public.dll &lt;/li&gt;
    &lt;li&gt;PostSharp.Public.pdb* &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;* = Optional &lt;br /&gt;
&lt;br /&gt;
Add a reference to the PostSharp.Laos and PostSharp.Public assemblies in your project. &lt;/p&gt;
&lt;p&gt;Then you have to edit your .csproj file around the existing &amp;lt;Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /&amp;gt; section to be: &lt;br /&gt;
&lt;font face="Arial"&gt;  &amp;lt;PropertyGroup&amp;gt;&lt;br /&gt;
    &amp;lt;DontImportPostSharp&amp;gt;True&amp;lt;/DontImportPostSharp&amp;gt;&lt;br /&gt;
    &amp;lt;PostSharpDirectory&amp;gt;&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;lib\&lt;/font&gt;&amp;lt;/PostSharpDirectory&amp;gt;&lt;br /&gt;
  &amp;lt;/PropertyGroup&amp;gt;&lt;br /&gt;
  &amp;lt;Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /&amp;gt;&lt;br /&gt;
  &amp;lt;Import Project="$(PostSharpDirectory)PostSharp.targets" /&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;You can download a working demo: &lt;font face="Arial"&gt;&lt;a href="http://rapidshare.com/files/183439996/PostSharpTest.zip.html"&gt;http://rapidshare.com/files/183439996/PostSharpTest.zip.html&lt;/a&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/128673.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2009/01/14/128673.aspx</guid>
            <pubDate>Thu, 15 Jan 2009 02:32:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/128673.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2009/01/14/128673.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/128673.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/128673.aspx</trackback:ping>
        </item>
        <item>
            <title>Mapping an NCLOB to a String property in NHibernate</title>
            <link>http://geekswithblogs.net/wojan/archive/2008/11/10/126939.aspx</link>
            <description>&lt;p&gt;So I ran into an issue this evening where I needed to map a string property to a NCLOB column but I kept getting:&lt;br /&gt;
&lt;br /&gt;
&lt;font face="Courier New"&gt;"ORA-01461: can bind a LONG value only for insert into a LONG column"&lt;/font&gt;&lt;br /&gt;
&lt;br /&gt;
Turns out that you should set the column type to "AnsiString" as in:&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;&lt;font color="#a31515" size="2"&gt;property&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;name&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;Contents&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;column&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;CONTENTS&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;&lt;font color="#ff0000" size="2"&gt;type&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;=&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;AnsiString&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;"&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- Hope this helps someone else out.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/126939.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2008/11/10/126939.aspx</guid>
            <pubDate>Tue, 11 Nov 2008 01:32:07 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/126939.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2008/11/10/126939.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/126939.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/126939.aspx</trackback:ping>
        </item>
        <item>
            <title>Calling a Static Method on a Generic Class</title>
            <link>http://geekswithblogs.net/wojan/archive/2008/10/23/126056.aspx</link>
            <description>&lt;p&gt;I needed to be able to call a static method on a generic class today, so I thought I would post it up here to share with the world.  Enjoy.&lt;/p&gt;
&lt;p&gt; &lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//Our Generic Class&lt;/span&gt;&lt;/p&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;SomeGenericClass&lt;/span&gt;&amp;lt;T&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &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;char&lt;/span&gt;[] ConvertToCharArray(T something)&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; something.ToString().ToCharArray();&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;strong&gt;The example code:&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;// Get the type of the generic class&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Type&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; typeofClassWithGenericStaticMethod = &lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;SomeGenericClass&lt;/span&gt;&amp;lt;&amp;gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//Get a typed version of the generic type&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Type&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; type = &lt;span style="COLOR: #2b91af"&gt;Type&lt;/span&gt;.GetType(&lt;span style="COLOR: #a31515"&gt;"System.String"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Type&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;[] args = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt;[] { type };&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Type&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; genericType = typeofClassWithGenericStaticMethod.MakeGenericType(args);&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;// Get a reference to the method you want to call.&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;MethodInfo&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; methodInfo = genericType&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    .GetMethod(&lt;span style="COLOR: #a31515"&gt;"ConvertToCharArray"&lt;/span&gt;, System.Reflection.&lt;span style="COLOR: #2b91af"&gt;BindingFlags&lt;/span&gt;.Static | &lt;span style="COLOR: #2b91af"&gt;BindingFlags&lt;/span&gt;.Public);&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;// Invoke the method with parameters. (If it doesn't have a pameter, use null instead of the object array)&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;object&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; returnValue = methodInfo.Invoke(&lt;span style="COLOR: blue"&gt;null&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt;[]{&lt;span style="COLOR: #a31515"&gt;"Hello World"&lt;/span&gt;});&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;char&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;[] characters = (&lt;span style="COLOR: blue"&gt;char&lt;/span&gt;[])returnValue;&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;foreach&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; (&lt;span style="COLOR: blue"&gt;char&lt;/span&gt; character &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; characters)&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: #2b91af"&gt;Console&lt;/span&gt;.Write(character);&lt;/span&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/126056.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2008/10/23/126056.aspx</guid>
            <pubDate>Thu, 23 Oct 2008 18:55:15 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/126056.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2008/10/23/126056.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/126056.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/126056.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET MVC to Ship with JQuery!!</title>
            <link>http://geekswithblogs.net/wojan/archive/2008/09/29/125519.aspx</link>
            <description>&lt;p&gt;Wow, the ASP.NET MVC team just k&lt;font face="Arial"&gt;eeps getting it right!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;I am &lt;u&gt;&lt;strong&gt;truly&lt;/strong&gt;&lt;/u&gt; shocked that Microsoft is going to take advantage of a well-known, well-tested open source framework instead of trying to &lt;em&gt;(poorly)&lt;/em&gt; invent their own... &lt;em&gt;(cough... ASP.NET Ajax)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Scott Gu - &lt;font face="Arial"&gt;jQuery and Microsoft &lt;/font&gt;:&lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx"&gt;http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx&lt;/a&gt; &lt;/font&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/125519.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2008/09/29/125519.aspx</guid>
            <pubDate>Mon, 29 Sep 2008 13:04:12 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/125519.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2008/09/29/125519.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/125519.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/125519.aspx</trackback:ping>
        </item>
        <item>
            <title>Visual Studio 2008 &amp; .NET 3.5 Quick Changes Overview</title>
            <link>http://geekswithblogs.net/wojan/archive/2007/12/12/117629.aspx</link>
            <description>&lt;div style="MARGIN: 0in 0in 10pt"&gt;Visual Studio 2008 &amp;amp; .NET 3.5 Quick Changes Overview&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;I AM NOT TRYING TO REPRESENT THIS WORK AS MY OWN, I AM MERELY AGGRIGATING EXISTING INFORMATION HERE FOR MY OWN BENIFIT AND MAYBE YOURS&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;Visual Studio 2008&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;General&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Can target framework versions 2, 3, and 3.5&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Built in ORM&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;ASP.NET&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Now supports nested master pages in the designer&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Faster switching between markup and designer&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Split view for seeing the designer and markup at the same time&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Drastically improved CSS support with new “Manage Styles” property window&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;ASP.NET AJAX 1.0 is now baked in&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Built in JavaScript intellisense&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;C# style code comments for additional information via intellisense&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt;C# Language Changes&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Automatic Properties&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;No longer required to have a private member variables and public getter/setters. The compiler figures out what is meant by the new syntax and automatically generates it for you in the resulting IL.&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 0.25in; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 221.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="295"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;New Less Verbose Way&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 221.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="295"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Name&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.name; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;set&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.name = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Name { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Object Initializers&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;No longer have to build constructors for every possible way you want to initialize the object.&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 0.25in; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 221.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="295"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;New Less Verbose Way&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 221.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="295"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Person()&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Person(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    { &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;       &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.name = name;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Name&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;get&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.name; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;set&lt;/span&gt; { &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.name = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; Name { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//*notice no constructors are defined&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 221.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="295"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; person = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;person.Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//   -- or –&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;person.Name = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; person = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;person.Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//-- or –-&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;person = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;span style="BACKGROUND: #ffffcc"&gt;{Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;}&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: green"&gt;//Note the use of curly braces   ^&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Collection Initializers&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; people = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Frank"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Dean"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Sammy"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 237.65pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="317"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; people = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;        &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;       ,&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Bill"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;       ,&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Susanne"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;};&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Extension Methods&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;Allows developers to add new methods to existing CLR types.&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Using Extension Methods&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; Validation&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt; public static&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Validator&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  &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;bool&lt;/span&gt; IsInt(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; s)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  &lt;span style="COLOR: #2b91af"&gt;Regex&lt;/span&gt; regex = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Regex&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;@"^[-+]?\d*$"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; regex.IsMatch(s);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;using &lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;Validation;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;if&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; (&lt;span style="COLOR: #2b91af"&gt;Validator&lt;/span&gt;.IsInteger(textBox.Text))&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &lt;span style="COLOR: green"&gt;//Do Something&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;namespace&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; LanguageExtensions&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &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;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;StringExtensions&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &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;bool&lt;/span&gt; IsInt(&lt;span style="COLOR: blue"&gt;this&lt;/span&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; s)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;  &lt;span style="COLOR: #2b91af"&gt;Regex&lt;/span&gt; regex = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Regex&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;@"^[-+]?\d*$"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;   &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; regex.IsMatch(s);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;using&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; LanguageExtensions;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;if&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; (textBox.Text.&lt;span style="BACKGROUND: #ffffcc"&gt;IsInt()&lt;/span&gt;)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;{&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &lt;span style="COLOR: green"&gt;//Do Something&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Anonymous Types&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;A variable’s type is inferred from its initialization&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Using Anonymous Types + Object Initializers&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; BACKGROUND: #ffffcc; COLOR: #2b91af"&gt;Person&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; person = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;person.Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; BACKGROUND: #ffffcc; COLOR: blue"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; person = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;{Name=&lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;};&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;Lambda Expressions&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;A less verbose way of accomplishing anonymous methods which were introduced in 2.0&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Using Lambda Expressions + Anonymous Types&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; people = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Bobby"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;people.Add(&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;(&lt;span style="COLOR: #a31515"&gt;"Susanne"&lt;/span&gt;));&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; filtered = people.FindAll&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;(&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; p)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    { &lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;        &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; p.Name.StartsWith(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="BACKGROUND: #ffffcc; MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; people = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;        &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Scott"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;       ,&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Bill"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;       ,&lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"Susanne"&lt;/span&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;};&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt; COLOR: blue"&gt;var &lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;filtered2 = peeps.FindAll(&lt;span style="BACKGROUND: #ffffcc"&gt;p =&amp;gt; p.Name.StartsWith(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;)&lt;/span&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 10pt"&gt; &lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;·&lt;span style="FONT: 7pt 'Times New Roman'"&gt;         &lt;/span&gt;&lt;/span&gt;LINQ &lt;em&gt;(Language Integrated Query)&lt;/em&gt;&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;LINQ is the attempt of adding the expressiveness of SQL to .NET languages&lt;/div&gt;
&lt;table style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Traditional Way&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; BACKGROUND: #e5e5e5; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;Using LINQ Query Syntax&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; results = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;foreach&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; (&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; people)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;{ &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;if&lt;/span&gt;(p.Name.StartsWith(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;))&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;        results.Add(p);&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;}&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: green"&gt;//   -- or –&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt; &lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: #2b91af"&gt;List&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt;&amp;gt; results = people.FindAll&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;(&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: #2b91af"&gt;Person&lt;/span&gt; p)&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; { &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; p.Name.StartsWith(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;); &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt; }&lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;);&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BORDER-LEFT-COLOR: #d4d0c8; PADDING-BOTTOM: 0in; WIDTH: 239.4pt; BORDER-TOP-COLOR: #d4d0c8; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid; BACKGROUND-COLOR: transparent" valign="top" width="319"&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt; COLOR: blue"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 9pt"&gt; results = &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;from&lt;/span&gt; p &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; people &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;where&lt;/span&gt; p.Name.StartsWith(&lt;span style="COLOR: #a31515"&gt;"Bob"&lt;/span&gt;) &lt;/span&gt;&lt;/div&gt;
            &lt;div style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9pt"&gt;    &lt;span style="COLOR: blue"&gt;select&lt;/span&gt; p;&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;o&lt;span style="FONT: 7pt 'Times New Roman'"&gt;   &lt;/span&gt;&lt;/span&gt;Additional Examples&lt;/div&gt;
&lt;div style="MARGIN: 0in 0in 10pt 1.25in; TEXT-INDENT: -0.25in"&gt;&lt;span&gt;§ &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vcsharp/aa336746.aspx"&gt;&lt;font color="#800080"&gt;101 LINQ Examples&lt;/font&gt;&lt;/a&gt; &lt;/div&gt; &lt;img src="http://geekswithblogs.net/wojan/aggbug/117629.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2007/12/12/117629.aspx</guid>
            <pubDate>Wed, 12 Dec 2007 17:04:36 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/117629.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2007/12/12/117629.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/117629.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/117629.aspx</trackback:ping>
        </item>
        <item>
            <title>Fasten your seat belts, turbulence ahead...</title>
            <link>http://geekswithblogs.net/wojan/archive/2007/12/12/117627.aspx</link>
            <description>So I was just reading &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/11/29/net-web-product-roadmap-asp-net-silverlight-iis7.aspx"&gt;this post&lt;/a&gt; by ScottGu outlining what is in store for 2008 and my head started spinning and I got faint.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rant&amp;gt;&lt;br /&gt;
Did I read " ASP.NET MVC"??  Microsoft is now going to provide an MVC framework for ASP.NET instead of their dumb arse postback method?  Guys, the java camp was doing this with struts almost EIGHT YEARS AGO!?! Why didn't you do this out of the box!?!?! &lt;br /&gt;
&amp;lt;/rant&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Whew, sorry for that... back to my question...&lt;br /&gt;
Is it just me or do you also feel like your are getting left in the dust with all the changes that came out in the past year and what is in store for 2008? &lt;img src="http://geekswithblogs.net/wojan/aggbug/117627.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Scott Wojan</dc:creator>
            <guid>http://geekswithblogs.net/wojan/archive/2007/12/12/117627.aspx</guid>
            <pubDate>Wed, 12 Dec 2007 17:00:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/wojan/comments/117627.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/wojan/archive/2007/12/12/117627.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/wojan/comments/commentRss/117627.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/wojan/services/trackbacks/117627.aspx</trackback:ping>
        </item>
    </channel>
</rss>
