<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>ProgramGood.Net - c# language</title>
    <link>http://www.programgood.net/</link>
    <description>The journey to becoming a great programmer</description>
    <language>en-us</language>
    <copyright>Dave Mateer</copyright>
    <lastBuildDate>Thu, 05 Aug 2010 02:25:49 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.2.8279.16125</generator>
    <managingEditor>davemateer@gmail.com</managingEditor>
    <webMaster>davemateer@gmail.com</webMaster>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=751b2afa-02ce-4603-b349-1052756bbf6d</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,751b2afa-02ce-4603-b349-1052756bbf6d.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <wfw:comment>http://www.programgood.net/CommentView,guid,751b2afa-02ce-4603-b349-1052756bbf6d.aspx</wfw:comment>
      <wfw:commentRss>http://www.programgood.net/SyndicationService.asmx/GetEntryCommentsRss?guid=751b2afa-02ce-4603-b349-1052756bbf6d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I’m getting data using LINQ to SQL, then showing on the front end.  If I want
a null coming from the database to default to something:
</p>
        <div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;telerik:GridTemplateColumn HeaderText=<span style="color: #006080">"Image"</span> UniqueName=<span style="color: #006080">"Image"</span>&gt; 
<br />
&lt;ItemTemplate&gt; 
<br />
&lt;asp:Label ID=<span style="color: #006080">"asdf"</span> runat=<span style="color: #006080">"server"</span> Text=<span style="color: #006080">'&lt;%#
String.IsNullOrEmpty(Convert.ToString(Eval("Image1"))) ? "noImage.jpg"
: Eval("Image1")%&gt;'</span>&gt;&lt;/asp:Label&gt;<br />
&lt;a href=<span style="color: #006080">"&lt;%=VirtualPathUtility.ToAbsolute("</span>~/<span style="color: #006080">")%&gt;showFrontEndMaterialDetail.aspx?materialId=&lt;%#
Eval("</span>Id<span style="color: #006080">")%&gt;"</span>&gt;<br />
&lt;img src=<span style="color: #006080">"&lt;%=VirtualPathUtility.ToAbsolute("</span>~/<span style="color: #006080">")%&gt;Images/Uploaded/Thumbs/&lt;%#
Eval("</span>Image1<span style="color: #006080">") ?? "</span>noPhoto.jpg<span style="color: #006080">"
%&gt;"</span>&gt;&lt;/img&gt;&lt;/a&gt;<br /><br />
&lt;/ItemTemplate&gt; 
<br />
&lt;/telerik:GridTemplateColumn&gt;</pre>
          <br />
        </div>
        <div>
          <br />
Thanks to these people:
</div>
        <div>
          <a href="http://stackoverflow.com/questions/3411155/c-eval-aspx-fun">http://stackoverflow.com/questions/3411155/c-eval-aspx-fun</a> 
</div>
        <div> 
</div>
        <p>
        </p>
        <p>
        </p>
        <p>
          <a href="http://stackoverflow.com/questions/3410942/linq-to-sql-default-value-nullable">http://stackoverflow.com/questions/3410942/linq-to-sql-default-value-nullable</a>
        </p>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=751b2afa-02ce-4603-b349-1052756bbf6d" />
      </body>
      <title>Default Values in Eval</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,751b2afa-02ce-4603-b349-1052756bbf6d.aspx</guid>
      <link>http://www.programgood.net/2010/08/05/DefaultValuesInEval.aspx</link>
      <pubDate>Thu, 05 Aug 2010 02:25:49 GMT</pubDate>
      <description>&lt;p&gt;
I’m getting data using LINQ to SQL, then showing on the front end.&amp;#160; If I want
a null coming from the database to default to something:
&lt;/p&gt;
&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;telerik:GridTemplateColumn HeaderText=&lt;span style="color: #006080"&gt;&amp;quot;Image&amp;quot;&lt;/span&gt; UniqueName=&lt;span style="color: #006080"&gt;&amp;quot;Image&amp;quot;&lt;/span&gt;&amp;gt; 
&lt;br /&gt;
&amp;lt;ItemTemplate&amp;gt; 
&lt;br /&gt;
&amp;lt;asp:Label ID=&lt;span style="color: #006080"&gt;&amp;quot;asdf&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; Text=&lt;span style="color: #006080"&gt;'&amp;lt;%#
String.IsNullOrEmpty(Convert.ToString(Eval(&amp;quot;Image1&amp;quot;))) ? &amp;quot;noImage.jpg&amp;quot;
: Eval(&amp;quot;Image1&amp;quot;)%&amp;gt;'&lt;/span&gt;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;
&amp;lt;a href=&lt;span style="color: #006080"&gt;&amp;quot;&amp;lt;%=VirtualPathUtility.ToAbsolute(&amp;quot;&lt;/span&gt;~/&lt;span style="color: #006080"&gt;&amp;quot;)%&amp;gt;showFrontEndMaterialDetail.aspx?materialId=&amp;lt;%#
Eval(&amp;quot;&lt;/span&gt;Id&lt;span style="color: #006080"&gt;&amp;quot;)%&amp;gt;&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;img src=&lt;span style="color: #006080"&gt;&amp;quot;&amp;lt;%=VirtualPathUtility.ToAbsolute(&amp;quot;&lt;/span&gt;~/&lt;span style="color: #006080"&gt;&amp;quot;)%&amp;gt;Images/Uploaded/Thumbs/&amp;lt;%#
Eval(&amp;quot;&lt;/span&gt;Image1&lt;span style="color: #006080"&gt;&amp;quot;) ?? &amp;quot;&lt;/span&gt;noPhoto.jpg&lt;span style="color: #006080"&gt;&amp;quot;
%&amp;gt;&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/img&amp;gt;&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ItemTemplate&amp;gt; 
&lt;br /&gt;
&amp;lt;/telerik:GridTemplateColumn&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Thanks to these people:
&lt;/div&gt;
&lt;div&gt;&lt;a href="http://stackoverflow.com/questions/3411155/c-eval-aspx-fun"&gt;http://stackoverflow.com/questions/3411155/c-eval-aspx-fun&lt;/a&gt;&amp;#160;
&lt;/div&gt;
&lt;div&gt;&amp;#160;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://stackoverflow.com/questions/3410942/linq-to-sql-default-value-nullable"&gt;http://stackoverflow.com/questions/3410942/linq-to-sql-default-value-nullable&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=751b2afa-02ce-4603-b349-1052756bbf6d" /&gt;</description>
      <comments>http://www.programgood.net/CommentView,guid,751b2afa-02ce-4603-b349-1052756bbf6d.aspx</comments>
      <category>c# language</category>
    </item>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=cf5cab24-c664-4dea-8f81-eae35517bcbb</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,cf5cab24-c664-4dea-8f81-eae35517bcbb.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <wfw:comment>http://www.programgood.net/CommentView,guid,cf5cab24-c664-4dea-8f81-eae35517bcbb.aspx</wfw:comment>
      <wfw:commentRss>http://www.programgood.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cf5cab24-c664-4dea-8f81-eae35517bcbb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
When displaying a repeater on an aspx page:
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;asp:Repeater ID=<span style="color: #006080">"Repeater1"</span> runat=<span style="color: #006080">"server"</span>&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;%#DataBinder.Eval(Container.DataItem, <span style="color: #006080">"FileName"</span>)%&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;/asp:Repeater&gt;</pre>
          <br />
        </div>
        <p>
or shorter:
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">&lt;asp:Repeater ID=<span style="color: #006080">"Repeater1"</span> runat=<span style="color: #006080">"server"</span>&gt;<br />
&lt;ItemTemplate&gt;<br />
&lt;%#Eval(<span style="color: #006080">"FileName"</span>)%&gt;<br />
&lt;/ItemTemplate&gt;<br />
&lt;/asp:Repeater&gt;</pre>
          <br />
        </div>
        <p>
        </p>
        <p>
It is important to remember to make FileName a property and not just a public field
ie this works
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">public</span>
            <span style="color: #0000ff">class</span> ImageThing<br />
{<br /><span style="color: #0000ff">public</span><span style="color: #0000ff">string</span> FileName
{get; set; }<br />
}<br /><br /><span style="color: #0000ff">private</span><span style="color: #0000ff">void</span> DisplayThumbnailImages()<br />
{<br />
ImageThing imageThing1 = <span style="color: #0000ff">new</span> ImageThing();<br />
ImageThing imageThing2 = <span style="color: #0000ff">new</span> ImageThing();<br />
imageThing1.FileName = <span style="color: #006080">"asdf.jpg"</span>;<br />
imageThing2.FileName = <span style="color: #006080">"aaa.jpg"</span>;<br /><br />
List&lt;ImageThing&gt; imagesToRender = <span style="color: #0000ff">new</span> List&lt;ImageThing&gt;();<br />
imagesToRender.Add(imageThing1);<br />
imagesToRender.Add(imageThing2);<br /><br />
Repeater1.DataSource = imagesToRender;<br />
Repeater1.DataBind();<br />
}</pre>
          <br />
        </div>
        <p>
this doesn’t
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">public</span>
            <span style="color: #0000ff">class</span> ImageThing<br />
{<br /><span style="color: #0000ff">public</span><span style="color: #0000ff">string</span> FileName;<br />
}</pre>
          <br />
        </div>
        <p>
A property encapsulates a field.
</p>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=cf5cab24-c664-4dea-8f81-eae35517bcbb" />
      </body>
      <title>Difference Between a Property and a Field using Repeaters</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,cf5cab24-c664-4dea-8f81-eae35517bcbb.aspx</guid>
      <link>http://www.programgood.net/2010/08/04/DifferenceBetweenAPropertyAndAFieldUsingRepeaters.aspx</link>
      <pubDate>Wed, 04 Aug 2010 23:04:00 GMT</pubDate>
      <description>&lt;p&gt;
When displaying a repeater on an aspx page:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;asp:Repeater ID=&lt;span style="color: #006080"&gt;&amp;quot;Repeater1&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;%#DataBinder.Eval(Container.DataItem, &lt;span style="color: #006080"&gt;&amp;quot;FileName&amp;quot;&lt;/span&gt;)%&amp;gt;&lt;br /&gt;
&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/asp:Repeater&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
or shorter:
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;asp:Repeater ID=&lt;span style="color: #006080"&gt;&amp;quot;Repeater1&amp;quot;&lt;/span&gt; runat=&lt;span style="color: #006080"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;
&amp;lt;ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;%#Eval(&lt;span style="color: #006080"&gt;&amp;quot;FileName&amp;quot;&lt;/span&gt;)%&amp;gt;&lt;br /&gt;
&amp;lt;/ItemTemplate&amp;gt;&lt;br /&gt;
&amp;lt;/asp:Repeater&amp;gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
It is important to remember to make FileName a property and not just a public field
ie this works
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ImageThing&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FileName
{get; set; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; DisplayThumbnailImages()&lt;br /&gt;
{&lt;br /&gt;
ImageThing imageThing1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ImageThing();&lt;br /&gt;
ImageThing imageThing2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ImageThing();&lt;br /&gt;
imageThing1.FileName = &lt;span style="color: #006080"&gt;&amp;quot;asdf.jpg&amp;quot;&lt;/span&gt;;&lt;br /&gt;
imageThing2.FileName = &lt;span style="color: #006080"&gt;&amp;quot;aaa.jpg&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
List&amp;lt;ImageThing&amp;gt; imagesToRender = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;ImageThing&amp;gt;();&lt;br /&gt;
imagesToRender.Add(imageThing1);&lt;br /&gt;
imagesToRender.Add(imageThing2);&lt;br /&gt;
&lt;br /&gt;
Repeater1.DataSource = imagesToRender;&lt;br /&gt;
Repeater1.DataBind();&lt;br /&gt;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
this doesn’t
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ImageThing&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; FileName;&lt;br /&gt;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;p&gt;
A property encapsulates a field.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=cf5cab24-c664-4dea-8f81-eae35517bcbb" /&gt;</description>
      <comments>http://www.programgood.net/CommentView,guid,cf5cab24-c664-4dea-8f81-eae35517bcbb.aspx</comments>
      <category>c# language</category>
      <category>SiteFinity</category>
    </item>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=6f2f5f74-7c90-4459-8633-4d516ada4778</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,6f2f5f74-7c90-4459-8633-4d516ada4778.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <wfw:comment>http://www.programgood.net/CommentView,guid,6f2f5f74-7c90-4459-8633-4d516ada4778.aspx</wfw:comment>
      <wfw:commentRss>http://www.programgood.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6f2f5f74-7c90-4459-8633-4d516ada4778</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
While trying to figure out what is meant by the 3rd new section in a view in MVC
</p>
        <p>
&lt;%: Html.ActionLink("Edit", "Edit", new { id=item.DinnerID
}) %&gt;
</p>
        <p>
So it is really creating an object with a single property id, which is an int, equal
to that of the item, which is a Dinner.
</p>
        <p>
          <a href="http://www.programgood.net/content/binary/WindowsLiveWriter/AnonymousTypes_D000/image_2.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/AnonymousTypes_D000/image_thumb.png" width="644" height="219" />
          </a>
        </p>
        <p>
“Anonymous types provide a convenient way to encapsulate a set of read-only properties
into a single object without having to first explicitly define a type”
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">class</span> Program<br />
{<br /><span style="color: #0000ff">static</span><span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span>[]
args)<br />
{<br /><span style="color: #008000">// Anonymous types provide a convenient way to encapsulate
a set of read-only properties</span><br /><span style="color: #008000">// into a single object without having to first explicitly
define a type</span><br />
var person = <span style="color: #0000ff">new</span> { Name = <span style="color: #006080">"Terry"</span>,
Age = 21 };<br />
Console.WriteLine(<span style="color: #006080">"name is "</span> + person.Name);<br />
Console.WriteLine(<span style="color: #006080">"age is "</span> + person.Age.ToString());<br /><br /><span style="color: #008000">// Anonymous types just get rid of Person1 really.</span><br />
Person1 person1 = <span style="color: #0000ff">new</span> Person1 { Name = <span style="color: #006080">"Bill"</span>,
Age = 55 };<br />
Console.WriteLine(<span style="color: #006080">"name is "</span> + person1.Name);<br />
Console.WriteLine(<span style="color: #006080">"age is "</span> + person1.Age.ToString());<br />
}<br />
}<br /><br /><span style="color: #0000ff">class</span> Person1<br />
{<br /><span style="color: #0000ff">public</span><span style="color: #0000ff">string</span> Name
{ get; set; }<br /><span style="color: #0000ff">public</span><span style="color: #0000ff">int</span> Age
{ get; set; }<br />
}</pre>
          <br />
        </div>
        <div id="codeSnippetWrapper">Many thanks to the question here for clarifying:
</div>
        <div> 
</div>
        <div id="codeSnippetWrapper">
          <a title="http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc" href="http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc">http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc</a>
          <br />
        </div>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=6f2f5f74-7c90-4459-8633-4d516ada4778" />
      </body>
      <title>Anonymous Types</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,6f2f5f74-7c90-4459-8633-4d516ada4778.aspx</guid>
      <link>http://www.programgood.net/2010/06/23/AnonymousTypes.aspx</link>
      <pubDate>Wed, 23 Jun 2010 03:35:49 GMT</pubDate>
      <description>&lt;p&gt;
While trying to figure out what is meant by the 3rd new section in a view in MVC
&lt;/p&gt;
&lt;p&gt;
&amp;lt;%: Html.ActionLink(&amp;quot;Edit&amp;quot;, &amp;quot;Edit&amp;quot;, new { id=item.DinnerID
}) %&amp;gt;
&lt;/p&gt;
&lt;p&gt;
So it is really creating an object with a single property id, which is an int, equal
to that of the item, which is a Dinner.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.programgood.net/content/binary/WindowsLiveWriter/AnonymousTypes_D000/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.programgood.net/content/binary/WindowsLiveWriter/AnonymousTypes_D000/image_thumb.png" width="644" height="219" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
“Anonymous types provide a convenient way to encapsulate a set of read-only properties
into a single object without having to first explicitly define a type”
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]
args)&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #008000"&gt;// Anonymous types provide a convenient way to encapsulate
a set of read-only properties&lt;/span&gt;
&lt;br /&gt;
&lt;span style="color: #008000"&gt;// into a single object without having to first explicitly
define a type&lt;/span&gt;
&lt;br /&gt;
var person = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; { Name = &lt;span style="color: #006080"&gt;&amp;quot;Terry&amp;quot;&lt;/span&gt;,
Age = 21 };&lt;br /&gt;
Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;name is &amp;quot;&lt;/span&gt; + person.Name);&lt;br /&gt;
Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;age is &amp;quot;&lt;/span&gt; + person.Age.ToString());&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #008000"&gt;// Anonymous types just get rid of Person1 really.&lt;/span&gt;
&lt;br /&gt;
Person1 person1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person1 { Name = &lt;span style="color: #006080"&gt;&amp;quot;Bill&amp;quot;&lt;/span&gt;,
Age = 55 };&lt;br /&gt;
Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;name is &amp;quot;&lt;/span&gt; + person1.Name);&lt;br /&gt;
Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;age is &amp;quot;&lt;/span&gt; + person1.Age.ToString());&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Person1&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Name
{ get; set; }&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Age
{ get; set; }&lt;br /&gt;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;Many thanks to the question here for clarifying:
&lt;/div&gt;
&lt;div&gt;&amp;#160;
&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;a title="http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc" href="http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc"&gt;http://stackoverflow.com/questions/3098643/anonymous-type-syntax-in-asp-net-mvc&lt;/a&gt; 
&lt;br /&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=6f2f5f74-7c90-4459-8633-4d516ada4778" /&gt;</description>
      <comments>http://www.programgood.net/CommentView,guid,6f2f5f74-7c90-4459-8633-4d516ada4778.aspx</comments>
      <category>ASP.NET MVC</category>
      <category>c# language</category>
    </item>
    <item>
      <trackback:ping>http://www.programgood.net/Trackback.aspx?guid=f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8</trackback:ping>
      <pingback:server>http://www.programgood.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.programgood.net/PermaLink,guid,f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8.aspx</pingback:target>
      <dc:creator>Dave Mateer</dc:creator>
      <wfw:comment>http://www.programgood.net/CommentView,guid,f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8.aspx</wfw:comment>
      <wfw:commentRss>http://www.programgood.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Static classes are usually used as ‘utility’ classes
</p>
        <p>
You don’t need an instance
</p>
        <p>
 
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">class</span> Program<br />
{<br /><span style="color: #0000ff">static</span><span style="color: #0000ff">void</span> Main()<br />
{<br /><span style="color: #0000ff">double</span> result = thing.daveSubtract(10);<br />
Console.WriteLine(result);<br />
}<br />
}<br /><br /><span style="color: #0000ff">static</span><span style="color: #0000ff">class</span> thing<br />
{<br /><span style="color: #0000ff">static</span><span style="color: #0000ff">public</span><span style="color: #0000ff">double</span> daveSubtract(<span style="color: #0000ff">double</span> number)<br />
{<br /><span style="color: #0000ff">return</span> (number - 2);<br />
}<br />
}</pre>
        </div>
        <h3>Extension Methods
</h3>
        <p>
From: http://msdn.microsoft.com/en-us/library/bb383977.aspx
</p>
        <p>
Extension methods enable you to "add" methods to existing types without
creating a new derived type,
</p>
        <p>
Extension methods are a special kind of static method, but they are called as if they
were instance methods on the extended type. 
</p>
        <p>
For client code, there is no apparent difference between calling an extension method
and the methods that are actually defined in a type.
</p>
        <p>
 
</p>
        <div id="codeSnippetWrapper">
          <pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet">
            <span style="color: #0000ff">using</span> System;<br /><br /><span style="color: #0000ff">namespace</span> ConsoleApplication1<br />
{<br /><span style="color: #0000ff">class</span> Program<br />
{<br /><span style="color: #0000ff">static</span><span style="color: #0000ff">void</span> Main(<span style="color: #0000ff">string</span>[]
args)<br />
{<br /><span style="color: #0000ff">string</span> s = <span style="color: #006080">"hello
extension methods are good"</span>;<br />
Console.WriteLine(s);<br /><span style="color: #0000ff">int</span> i = s.WordCount();<br />
Console.WriteLine(<span style="color: #006080">"number of words is {0}"</span>,
i.ToString());<br />
}<br />
}<br /><br /><span style="color: #0000ff">public</span><span style="color: #0000ff">static</span><span style="color: #0000ff">class</span> MyExtensions<br />
{<br /><span style="color: #0000ff">public</span><span style="color: #0000ff">static</span><span style="color: #0000ff">int</span> WordCount(<span style="color: #0000ff">this</span> String
str)<br />
{<br /><span style="color: #0000ff">return</span> str.Split(<span style="color: #0000ff">new</span><span style="color: #0000ff">char</span>[]
{ <span style="color: #006080">' '</span>, <span style="color: #006080">'.'</span>, <span style="color: #006080">'?'</span> },
StringSplitOptions.RemoveEmptyEntries).Length;<br />
}<br />
}<br />
}</pre>
          <br />
        </div>
        <img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8" />
      </body>
      <title>Static Classes / Extension Methods</title>
      <guid isPermaLink="false">http://www.programgood.net/PermaLink,guid,f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8.aspx</guid>
      <link>http://www.programgood.net/2010/02/11/StaticClassesExtensionMethods.aspx</link>
      <pubDate>Thu, 11 Feb 2010 00:54:17 GMT</pubDate>
      <description>&lt;p&gt;
Static classes are usually used as ‘utility’ classes
&lt;/p&gt;
&lt;p&gt;
You don’t need an instance
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main()&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; result = thing.daveSubtract(10);&lt;br /&gt;
Console.WriteLine(result);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; thing&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;double&lt;/span&gt; daveSubtract(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt; number)&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;return&lt;/span&gt; (number - 2);&lt;br /&gt;
}&lt;br /&gt;
}&lt;/pre&gt;
&lt;/div&gt;
&lt;h3&gt;Extension Methods
&lt;/h3&gt;
&lt;p&gt;
From: http://msdn.microsoft.com/en-us/library/bb383977.aspx
&lt;/p&gt;
&lt;p&gt;
Extension methods enable you to &amp;quot;add&amp;quot; methods to existing types without
creating a new derived type,
&lt;/p&gt;
&lt;p&gt;
Extension methods are a special kind of static method, but they are called as if they
were instance methods on the extended type. 
&lt;/p&gt;
&lt;p&gt;
For client code, there is no apparent difference between calling an extension method
and the methods that are actually defined in a type.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; ConsoleApplication1&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Program&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Main(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;[]
args)&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; s = &lt;span style="color: #006080"&gt;&amp;quot;hello
extension methods are good&amp;quot;&lt;/span&gt;;&lt;br /&gt;
Console.WriteLine(s);&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i = s.WordCount();&lt;br /&gt;
Console.WriteLine(&lt;span style="color: #006080"&gt;&amp;quot;number of words is {0}&amp;quot;&lt;/span&gt;,
i.ToString());&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; MyExtensions&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; WordCount(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; String
str)&lt;br /&gt;
{&lt;br /&gt;
&lt;span style="color: #0000ff"&gt;return&lt;/span&gt; str.Split(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff"&gt;char&lt;/span&gt;[]
{ &lt;span style="color: #006080"&gt;' '&lt;/span&gt;, &lt;span style="color: #006080"&gt;'.'&lt;/span&gt;, &lt;span style="color: #006080"&gt;'?'&lt;/span&gt; },
StringSplitOptions.RemoveEmptyEntries).Length;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;/pre&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;img width="0" height="0" src="http://www.programgood.net/aggbug.ashx?id=f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8" /&gt;</description>
      <comments>http://www.programgood.net/CommentView,guid,f60ce9ab-2c3f-4afe-b2b7-d4ac6d2199c8.aspx</comments>
      <category>c# language</category>
    </item>
  </channel>
</rss>