<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.artembg.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Artem Community</title><link>http://community.artembg.com/blogs/</link><description>Artem interactive communities</description><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>VisualStudion 2010 Javascript Outlining 1.2</title><link>http://community.artembg.com/blogs/velio/archive/2010/07/29/visualstudion-2010-javascript-outlining-1-2.aspx</link><pubDate>Thu, 29 Jul 2010 16:11:38 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:195</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A support for CSS content type was added in order to use outlining in CSS files, as well.&lt;/p&gt;  &lt;h5&gt;Features&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Outlines CSS codeblock regions for the code placed between { }. The closing brace is places on a new line and there is not another opeing brace on same line. &lt;/li&gt;    &lt;li&gt;Outlines custom regions defined by:      &lt;ul&gt;       &lt;li&gt;/&lt;b&gt;#region&lt;/b&gt;/ - /&lt;b&gt;#endregion&lt;/b&gt;/ &lt;/li&gt;        &lt;li&gt;/&lt;b&gt;#&amp;gt;&lt;/b&gt;/ - /&lt;b&gt;#&amp;lt;&lt;/b&gt;/&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Samples&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;code block&lt;/li&gt; &lt;/ul&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;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;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;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;background-color&lt;/span&gt;: &lt;span style="color:#006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-family&lt;/span&gt;: &lt;span style="color:#006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-size&lt;/span&gt;: &lt;span style="color:#006080;"&gt;11px;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;long custom region definition&lt;/li&gt;
&lt;/ul&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;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;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;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#008000;"&gt;/*#region Test */&lt;/span&gt;&lt;/pre&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;"&gt;&lt;span style="color:#0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;background-color&lt;/span&gt;: &lt;span style="color:#006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-family&lt;/span&gt;: &lt;span style="color:#006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-size&lt;/span&gt;: &lt;span style="color:#006080;"&gt;11px;&lt;/span&gt;&lt;/pre&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;"&gt;}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#0000ff;"&gt;h1&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h2&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h3&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h4&lt;/span&gt; {&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;color&lt;/span&gt;: &lt;span style="color:#006080;"&gt;#5377A9;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-family&lt;/span&gt;: &lt;span style="color:#006080;"&gt;Tahoma;&lt;/span&gt;&lt;/pre&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;"&gt;}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#008000;"&gt;/*#endregion*/&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;short custom region definition&lt;/li&gt;
&lt;/ul&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;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;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;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#008000;"&gt;/*#&amp;gt; Test */&lt;/span&gt;&lt;/pre&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;"&gt;&lt;span style="color:#0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;background-color&lt;/span&gt;: &lt;span style="color:#006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-family&lt;/span&gt;: &lt;span style="color:#006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-size&lt;/span&gt;: &lt;span style="color:#006080;"&gt;11px;&lt;/span&gt;&lt;/pre&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;"&gt;}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#0000ff;"&gt;h1&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h2&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h3&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;h4&lt;/span&gt; {&lt;/pre&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;"&gt;    &lt;span style="color:#0000ff;"&gt;color&lt;/span&gt;: &lt;span style="color:#006080;"&gt;#5377A9;&lt;/span&gt;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;    &lt;span style="color:#0000ff;"&gt;font-family&lt;/span&gt;: &lt;span style="color:#006080;"&gt;Tahoma;&lt;/span&gt;&lt;/pre&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;"&gt;}&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#008000;"&gt;/*#&amp;lt;*/&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=195" width="1" height="1"&gt;</description></item><item><title>VisualStudion 2010 Javascript Outlining 1.0</title><link>http://community.artembg.com/blogs/velio/archive/2010/06/05/visualstudion-2010-javascript-outlining-1-0.aspx</link><pubDate>Fri, 04 Jun 2010 23:06:00 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:194</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As a Web 2 developer I found myself dealing with fast growing JavaScript code files.   &lt;br /&gt;And I really missed the code regions in Visual Studio, which is a nice way to organize the code blocks and focus on reasonable small amount of code.    &lt;br /&gt;There are some macros available out on the web for placing a regions outlining in JavaScript code editor.    &lt;br /&gt;I was not fully satisfied with macros and the fact I have to manually run them (even with a shortcut keys) every time I open the JavaScript file.    &lt;br /&gt;Thus, I have spend some amount of my time and came out with a Visual Studio 2010 Editor Extension for JavaScript Oulining.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Even, if this first version is simple as functionality it gave me much better JavaScript code experience.    &lt;br /&gt;So, I decided to share it with you guys and hope it helps you too.&lt;/p&gt;  &lt;p&gt;Please, find the visual studio package &lt;a href="http://googlemap.codeplex.com/releases/view/46542" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Enjoy&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=194" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://community.artembg.com/blogs/velio/archive/tags/VisualStudio/default.aspx">VisualStudio</category></item><item><title>“Fixing” Visual Studio 2010 HTML snippets</title><link>http://community.artembg.com/blogs/velio/archive/2010/04/21/fixing-visual-studio-2010-html-snippets.aspx</link><pubDate>Wed, 21 Apr 2010 13:41:54 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:193</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Visual Studio 2010 is out now.    &lt;br /&gt;It is great the new Visual Studio 2010 allow usage of code snippets widely now.     &lt;br /&gt;Apart of that, the cursor is goes at wrong place after inserting some of the HTML snippets, which breaks the nice continuous typing experience&lt;/p&gt;  &lt;p&gt;Have same problem like me?    &lt;br /&gt;Do you know you can edit and &amp;quot;fix&amp;quot; them.&lt;/p&gt;  &lt;p&gt;Check out &lt;a href="http://artembg.com/video/FixingHtmlSnippets" target="_blank"&gt;this&lt;/a&gt; short video, where I for example change the standard textbox snippet&lt;/p&gt;  &lt;p&gt;Hope this helps,    &lt;br /&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=193" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/VisualStudio/default.aspx">VisualStudio</category></item><item><title>Seeems.Framework+Seeems.CMS</title><link>http://community.artembg.com/blogs/velio/archive/2010/02/16/seeems-framework-seeems-cms.aspx</link><pubDate>Tue, 16 Feb 2010 08:44:47 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:192</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;A banch of wesbites are running under Seeems.Framework+Seeems.CMS now :).   &lt;br /&gt;&lt;a href="http://delpin.dk/"&gt;http://delpin.dk/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://co-sea.dk/"&gt;http://co-sea.dk/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://kools.dk/"&gt;http://kools.dk/&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=192" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/Seeems/default.aspx">Seeems</category></item><item><title>GoogleMap Control using MarkerManager video</title><link>http://community.artembg.com/blogs/velio/archive/2009/11/25/googlemap-control-using-markermanager-video.aspx</link><pubDate>Wed, 25 Nov 2009 07:53:54 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:190</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi, I have published a new short “HowTo” video about how to use MarkerManager with GoogleMap Control 4.1.   &lt;br /&gt;Check it out &lt;a href="http://artembg.com/video/GoogleMapControl-MarkerManager" target="_blank"&gt;here&lt;/a&gt;.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The background music is a track of the new upcoming album of my friend Svetlin Staykov – Slow Project.   &lt;br /&gt;I hope you enjoy both, video and music. &lt;img alt="smile_teeth" src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" /&gt;&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=190" width="1" height="1"&gt;</description></item><item><title>GoogleMap Control 4.1 beta released</title><link>http://community.artembg.com/blogs/velio/archive/2009/11/24/googlemap-control-4-1-beta-released.aspx</link><pubDate>Tue, 24 Nov 2009 09:30:07 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:189</guid><dc:creator>velio</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;I just released GoogleMap Control 4.1 beta.   &lt;br /&gt;Get it from &lt;a href="http://googlemap.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35111" target="_blank"&gt;codeplex&lt;/a&gt;, and give it a try.&lt;/p&gt;  &lt;h5&gt;Release Notes&lt;/h5&gt;  &lt;p&gt;In this release were fixed some important issues like: large number of markers using geocoding, zoom end event cycling etc.    &lt;br /&gt;Some new features were implemented as well, check out the list below.    &lt;br /&gt;I would like to highlight the proper implementation of Marker Manager coming in this release.    &lt;br /&gt;Check out the list of changes connected with that feature below.&lt;/p&gt;  &lt;h5&gt;Issues&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Large number of markers using geocoding      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7986"&gt;Issue with creating large number of Markers&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7453"&gt;Subsequent markers don&amp;#39;t show after unsuccessful geocode&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7870"&gt;Random missing markers when using address property and adding more than 10?&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;ZoomEnd event subscribing problems      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=8037"&gt;OnZoomEnd issue&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Features&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;MarkerManager&lt;/b&gt; - MarkerManager is used to manage visibility of hundreds of markers on a map, based on the map&amp;#39;s current viewport and zoom level.       &lt;ul&gt;       &lt;li&gt;The GoogleMaps API GMarkerManager class is deprecated and I have used the recommended &lt;a href="http://code.google.com/p/gmaps-utility-library-dev/"&gt;open sourced MarkerManager&lt;/a&gt; instead. &lt;/li&gt;        &lt;li&gt;I have added a new inner property MarkerManagerOptions in order to manager the options for the marker manager. &lt;/li&gt;        &lt;li&gt;GoogleMarker class was changed and couple of new properties were added to it to: MaxZoom and MinZoom. &lt;/li&gt;        &lt;li&gt;A sample page was added to Samples Website under &lt;b&gt;/marker/MarkerManager.aspx&lt;/b&gt;. Check the sample page online &lt;a href="http://googlemap.artembg.com/marker/MarkerManager.aspx"&gt;here&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;Check out the short demo video (coming soon)&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Map&lt;/b&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7761"&gt;Enterprise / Premier support&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Directions&lt;/b&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7918"&gt;Add &amp;#39;preserveViewport&amp;#39; functionality&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Polygon&lt;/b&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=9087"&gt;Polygon EnableDrawing &amp;amp; EnableEditing&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Changes&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;The Anonymous JS classes&amp;#39; functions were changed to Pseudo-Named functions for better JS debug and error feedback experience. &lt;/li&gt;    &lt;li&gt;Samples Websites for .NET 2.0 and VB were removed - Sorry, guys, I just have no enough time to support and keep them up to date.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=189" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/GoogleMap+Control/default.aspx">GoogleMap Control</category><category domain="http://community.artembg.com/blogs/velio/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>GoogleMap Control JS with Pseudo-Named functions now</title><link>http://community.artembg.com/blogs/velio/archive/2009/11/22/googlemap-control-js-with-pseudo-named-functions-now.aspx</link><pubDate>Sun, 22 Nov 2009 18:59:56 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:188</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I’m working recently on next release of GoogleMap Control v4.1.    &lt;br /&gt;As I have mentioned - I’m switching from anonymous to pseudo-named JS function for that release.     &lt;br /&gt;All the effort made, was for a better JS debug and error feedback experience.&lt;/p&gt;  &lt;p&gt;At least, that’s the theory.    &lt;br /&gt;However, today I did some work on the control again and had a chance in practice to prove I was right.     &lt;br /&gt;I got some JS error during&amp;#160; my work, but the information I have now in the call stack is much more useful than just a list of anonymous function.&lt;/p&gt;  &lt;p&gt;Here is a simple example of what I mean:&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://community.artembg.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_57157A64.gif"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="pseudo-named" border="0" alt="pseudo-named" src="http://community.artembg.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_thumb_5F00_4DBC45E1.gif" width="644" height="263" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In this particular case, I just mismatch the functions’ bodies &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;, but you get the idea, right.&lt;/p&gt;  &lt;p&gt;Regards &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=188" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/GoogleMap+Control/default.aspx">GoogleMap Control</category><category domain="http://community.artembg.com/blogs/velio/archive/tags/JavaScript/default.aspx">JavaScript</category></item><item><title>Generic extension method for a safe item value fetch from HttpSessionState.</title><link>http://community.artembg.com/blogs/velio/archive/2009/10/09/generic-extension-method-for-a-safe-item-value-fetch-from-httpsessionstate.aspx</link><pubDate>Fri, 09 Oct 2009 06:46:59 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:177</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b0c8d77e-d5bb-4e83-b8d8-1d9a12ccf64f" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/C%23" rel="tag"&gt;C#&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Hi there,&lt;/p&gt;  &lt;p&gt;Here is an extension method for getting a value from the session in a safe manner.&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;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;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;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&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;bool&lt;/span&gt; TryGet&amp;lt;T&amp;gt;(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt; HttpSessionState session, &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; key, &lt;span style="color:#0000ff;"&gt;out&lt;/span&gt; T &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;) {&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; flag = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;default&lt;/span&gt;(T);&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (session != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;) {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; objectValue = session[key];&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum8"&gt;   8:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (flag = (objectValue != &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; objectValue &lt;span style="color:#0000ff;"&gt;is&lt;/span&gt; T)) &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt; = (T)objectValue;&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum9"&gt;   9:&lt;/span&gt;     }&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum10"&gt;  10:&lt;/span&gt;&amp;#160; &lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; flag;&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum12"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;
The usage is simple like: 

&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;div style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:#f4f4f4;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;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; flag;&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;this&lt;/span&gt;.Page.Session.TryGet&amp;lt;&lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt;&amp;gt;(&lt;span style="color:#006080;"&gt;&amp;quot;MyFlag&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;out&lt;/span&gt; flag)) {&lt;/pre&gt;


    &lt;pre style="border-bottom-style:none;text-align:left;padding-bottom:0px;line-height:12pt;border-right-style:none;background-color:white;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;"&gt;&lt;span style="color:#606060;" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;span style="color:#008000;"&gt;// TODO value exists and can be used&lt;/span&gt;&lt;/pre&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;"&gt;&lt;span style="color:#606060;" id="lnum4"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=177" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/Programming/default.aspx">Programming</category><category domain="http://community.artembg.com/blogs/velio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://community.artembg.com/blogs/velio/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>GoogleMap Control 4.0 released</title><link>http://community.artembg.com/blogs/velio/archive/2009/04/29/googlemap-control-4-0-released.aspx</link><pubDate>Wed, 29 Apr 2009 15:49:51 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:54</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This release comes with a lot of new features like: StreetView; Reverse Geocoding; better AddressNotFound support; MarkerStyle for general way to manage the “Look&amp;amp;Feel” of markers; markers InfoWindow extensions and improvements; extended event handling; improved disposing and persistence; etc.&lt;/p&gt;  &lt;h5&gt;New Features&lt;/h5&gt; (For a full list check out GoogleMap Control 4.0 beta as well)   &lt;ul&gt;   &lt;li&gt;&lt;u&gt;&lt;b&gt;MarkerStyle&lt;/b&gt; inner property of GoogleMap control is now available to master in more general way the &amp;quot;Look&amp;amp;Feel&amp;quot; of all the markers.&lt;/u&gt;       &lt;ul&gt;       &lt;li&gt;It will for example simplify the way to set custom icon to all the markers in one place. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;u&gt;&lt;b&gt;InfoContent&lt;/b&gt; now provides a default implementation of container control for marker&amp;#39;s info window content&lt;/u&gt;       &lt;ul&gt;       &lt;li&gt;The &lt;b&gt;InfoContent&lt;/b&gt; behaves just like a control container. You can use its Controls property to add whatever controls you like to the marker&amp;#39;s InfoWindow content. &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.artembg.com/video/GoogleMarkerInfoWindow"&gt;Check out the online video&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;u&gt;&lt;b&gt;StreetView&lt;/b&gt; support added&lt;/u&gt;       &lt;ul&gt;       &lt;li&gt;&lt;b&gt;IsStreetView&lt;/b&gt; property to switch the GoogleMap control to StreetView; &lt;/li&gt;        &lt;li&gt;&lt;b&gt;StreetViewMode&lt;/b&gt; property to switch between Panorama and Overlay mode &lt;/li&gt;        &lt;li&gt;&lt;b&gt;StreetViewPanoID&lt;/b&gt; property to point to a DOM element by ID, where StreetView to be shown on map click when Overlay mode is selected, if this is not set, the control will render out an DIV to be use just bellow the google map; &lt;/li&gt;        &lt;li&gt;Check out this online sample page &lt;a href="http://googlemap.artembg.com/map/StreetView.aspx"&gt;StreetView&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;u&gt;&lt;b&gt;GoogleMapView&lt;/b&gt; is extended with the new map types: &lt;b&gt;Satellite3D&lt;/b&gt;, &lt;b&gt;MapMakerNormal&lt;/b&gt;, &lt;b&gt;MapMakerHybrid&lt;/b&gt;&lt;/u&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Changes&lt;/h5&gt; (For a full list check out GoogleMap Control 4.0 beta as well)   &lt;ul&gt;   &lt;li&gt;JSON improvements and improved &lt;b&gt;Markers&lt;/b&gt; persistence during the post back &lt;/li&gt;    &lt;li&gt;&lt;b&gt;InfoWindowContent&lt;/b&gt; property of GoogleMarker was renamed to &lt;b&gt;InfoWindowTemplate&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;ImageUrl&lt;/b&gt; property of GoogleMarker was renamed to &lt;b&gt;IconUrl&lt;/b&gt;; &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;ASP.NET 2.0 Issues&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;SampleWebSite2.0 was added for running the GoogleMap control samples under ASP.NET 2.0 &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=54" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/GoogleMap+Control/default.aspx">GoogleMap Control</category></item><item><title>New Video published</title><link>http://community.artembg.com/blogs/velio/archive/2009/04/02/new-video-published.aspx</link><pubDate>Thu, 02 Apr 2009 11:38:30 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:36</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I just published a new video: Using Skin to manage GoogleMap Control &amp;quot;Look&amp;amp;Feel&amp;quot;.   &lt;br /&gt;Check it out &lt;a href="http://www.artembg.com/video/GoogleMapUsingSkin" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=36" width="1" height="1"&gt;</description></item><item><title>ASP.NET MVC View - More then just a page view. Part II</title><link>http://community.artembg.com/blogs/velio/archive/2009/03/28/asp-net-mvc-view-more-then-just-a-page-view-part-ii.aspx</link><pubDate>Sat, 28 Mar 2009 08:02:54 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:34</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;h3&gt;Generate GSitemap View&lt;/h3&gt;  &lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;During my work on an ASP.NET MVC website I realized ASP.NET MVC views are more than just a page views and can be used to produce any kind of output.&amp;#160;&amp;#160; &lt;br /&gt;In the previous part of this series I gave an example how RSS output can be produces using a ASP.NET MVC controller and view.     &lt;br /&gt;This time I will show how simple is to generate&amp;#160; an output in Google sitemap (GSitemap) format and provide a dynamic sitemaps for Google crawler.&lt;/p&gt;  &lt;h2&gt;Code&lt;/h2&gt;  &lt;p&gt;Having an ASP.NET MVC web site I came to a task to generate some dynamic Google sitemap for helping the Google crawler to discover easily the dynamic content. &lt;/p&gt;  &lt;p&gt;Here the code of my GSitemap generating: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Part of my Controller class where I provide the data.      &lt;div style="font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;       &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Gets the products Google sitemap.&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;virtual&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ActionResult&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;GSitemap&lt;/span&gt;() {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;View&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;GetAll&lt;/span&gt;());&lt;/p&gt;        &lt;p style="margin:0px;"&gt;}&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;The view markup. Take a note there is no space between the page definition (&amp;lt;%@ Page ... %&amp;gt;) and the XML markup.      &lt;div style="font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;       &lt;p style="margin:0px;"&gt;&amp;lt;%@ &lt;span style="color:#fddf39;"&gt;Page&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Language&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;System.Web.Mvc.ViewPage&amp;lt;IEnumerable&amp;lt;Artem.WebSite.Models.Product&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt; %&amp;gt;&amp;lt;?&lt;span style="color:#fddf39;"&gt;xml&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;version&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;encoding&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt; ?&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#fddf39;"&gt;urlset&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;xmlns&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;http://www.google.com/schemas/sitemap/0.84&amp;quot;&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% &lt;span style="color:#f47a00;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;var&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;in&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;) { %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;url&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;loc&lt;/span&gt;&amp;gt;&lt;span style="color:#fddf39;"&gt;http&lt;/span&gt;:&lt;span style="color:green;"&gt;//artembg.com&amp;lt;%= product.DetailsUrl %&amp;gt;&amp;lt;/loc&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#fddf39;"&gt;url&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% } %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;urlset&lt;/span&gt;&amp;gt;&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Points of Interest&lt;/h2&gt;  &lt;p&gt;Once realizing the freedom We, ASP.NET developers, got with ASP.NET MVC Views, there is no limit of the views usage. &lt;/p&gt;  &lt;p&gt;Happy coding ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=34" width="1" height="1"&gt;</description></item><item><title>ASP.NET MVC View - More than just a page view. Part I</title><link>http://community.artembg.com/blogs/velio/archive/2009/03/10/asp-net-mvc-view-more-just-a-page-view-part-i.aspx</link><pubDate>Tue, 10 Mar 2009 19:38:01 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:28</guid><dc:creator>velio</dc:creator><slash:comments>1</slash:comments><description>&lt;h3&gt;Generate RSS View&lt;/h3&gt;  &lt;h2&gt;Introduction&lt;/h2&gt;  &lt;p&gt;Recently I was rebuilding my web site using ASP.NET MVC.    &lt;br /&gt;I really need to finish it in some stage, and then I decided to give a try to the ASP.NET MVC.     &lt;br /&gt;During my work I discovered the views are much more than just a page view and actually I found some fancy usages of ASP.NET MVC views.     &lt;br /&gt;In short series of articles I will share some of my fancy usages of ASP.NET MVC View.&lt;/p&gt;  &lt;h2&gt;Background&lt;/h2&gt;  &lt;p&gt;When building an ASP.NET MVC web site I start using views for generating pages, same as I have used WebForms. Then at some point I realized ASP.NET MVC View is much more than a page view/markup.    &lt;br /&gt;Actually with ASP.NET MVC we as asp.net developers are not tailored any more to a particular markup where &lt;font color="#ff8000"&gt;form with runat=server&lt;/font&gt; is required. Further more, We are even not tailored to HTML&amp;#160; as view markup any more.&lt;/p&gt;  &lt;h2&gt;Using the Code&lt;/h2&gt;  &lt;p&gt;Having an ASP.NET MVC web site I came to a task to generate some RSS feeds. First, as usual, I started implementing an HttpHandler for that. Then I realized, I can use a controller and views and my view markup could be the RSS XML markup.&lt;/p&gt;  &lt;p&gt;Here the code of my RSS generating: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Part of my RssController where I provide the feeds data.      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RssController&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;Controller&lt;/span&gt; {&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Methods ///////////////////////////////////////////////////////////////////////////&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Indexes this instance.&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ActionResult&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Index&lt;/span&gt;() {&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;RssFeed&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt; = &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RssFeed&lt;/span&gt;();&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;Velio&amp;#39;s Products&amp;quot;&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;The list of all my products.&amp;quot;&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;HttpContext&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;IsDebuggingEnabled&lt;/span&gt; ? &lt;span style="color:lime;"&gt;&amp;quot;/&amp;quot;&lt;/span&gt; : &lt;span style="color:lime;"&gt;&amp;quot;http://artembg.com/&amp;quot;&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;bool&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;flag&lt;/span&gt; = &lt;span style="color:#f47a00;"&gt;false&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;in&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;GetAll&lt;/span&gt;()) {&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (!&lt;span style="color:#fddf39;"&gt;flag&lt;/span&gt;) {&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;LastBuildDate&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ReleaseDate&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;flag&lt;/span&gt; = &lt;span style="color:#f47a00;"&gt;true&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Items&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Add&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RssFeedItem&lt;/span&gt; { &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt;, &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt;, &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;HomeUrl&lt;/span&gt;, &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;Guid&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;HomeUrl&lt;/span&gt;, &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;product&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ReleaseDate&lt;/span&gt; &lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; });&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;View&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;feed&lt;/span&gt;);&lt;/p&gt;      &lt;p style="margin:0px;font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;The Index.aspx view. Take a note there is no space between the page definition (&amp;lt;%@ Page ... %&amp;gt;) and the XML markup.      &lt;div style="font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;       &lt;p style="margin:0px;"&gt;&amp;lt;%@ &lt;span style="color:#fddf39;"&gt;Page&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Language&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;C#&amp;quot;&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Inherits&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;System.Web.Mvc.ViewPage&amp;lt;Artem.WebSite.Models.RssFeed&amp;gt;&amp;quot;&lt;/span&gt; %&amp;gt;&amp;lt;?&lt;span style="color:#fddf39;"&gt;xml&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;version&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;encoding&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt; ?&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#fddf39;"&gt;rss&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;version&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;2.0&amp;quot;&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;channel&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;title&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;link&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;link&lt;/span&gt;&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;ttl&lt;/span&gt;&amp;gt;&lt;span style="color:yellow;"&gt;10&lt;/span&gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;ttl&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;PubDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;lastBuildDate&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;LastBuildDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;lastBuildDate&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;description&lt;/span&gt;&amp;gt;&amp;lt;![&lt;span style="color:#fddf39;"&gt;CDATA&lt;/span&gt;[&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;%= &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ]]&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;description&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% &lt;span style="color:#f47a00;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;var&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;in&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Model&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Items&lt;/span&gt;) { %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;title&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;link&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;link&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;guid&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;guid&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;PubDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;&lt;span style="color:#fddf39;"&gt;description&lt;/span&gt;&amp;gt;&amp;lt;![&lt;span style="color:#fddf39;"&gt;CDATA&lt;/span&gt;[&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;%= &lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ]]&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;description&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#fddf39;"&gt;item&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;% } %&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/&lt;span style="color:#fddf39;"&gt;channel&lt;/span&gt;&amp;gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;rss&lt;/span&gt;&amp;gt;&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;The entire RssFeed class:      &lt;div style="font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;       &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RssFeed&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Static Fields /////////////////////////////////////////////////////////////////////&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt; &lt;span style="color:#fddf39;"&gt;_items&lt;/span&gt;;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Properties&amp;#160; ///////////////////////////////////////////////////////////////////////&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;LastBuildDate&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDateString&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;R&amp;quot;&lt;/span&gt;);&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;LastBuildDateString&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;LastBuildDate&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;R&amp;quot;&lt;/span&gt;);&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt; &lt;span style="color:#fddf39;"&gt;Items&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;_items&lt;/span&gt; ?? (&lt;span style="color:#fddf39;"&gt;_items&lt;/span&gt; = &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt;());&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;}&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;The entire RssFeedItem class:      &lt;div style="font-family:consolas;background:#202020;color:white;font-size:11px;"&gt;       &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RssFeedItem&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Properties&amp;#160; ///////////////////////////////////////////////////////////////////////&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Title&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Description&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Link&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Guid&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;; &lt;span style="color:#f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDateString&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;PubDate&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;R&amp;quot;&lt;/span&gt;);&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin:0px;"&gt;}&lt;/p&gt;     &lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Points of Interest&lt;/h2&gt;  &lt;p&gt;And because &amp;quot;Video worth a Million Words&amp;quot;, take a look at my short video on this article &lt;a href="http://www.artembg.com/video/ASP.NET-MVC-View-Part-I" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Once realizing the freedom We, ASP.NET developers, got with ASP.NET MVC Views, there is no limit of the views usage.    &lt;br /&gt;Stay tuned to the next part of this my short series about the ASP.NET Views.&lt;/p&gt;  &lt;p&gt;Happy coding ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=28" width="1" height="1"&gt;</description></item><item><title>Export Resources using ExpressionBuilder</title><link>http://community.artembg.com/blogs/velio/archive/2009/03/06/export-resources-using-expressionbuilder.aspx</link><pubDate>Fri, 06 Mar 2009 22:26:00 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:26</guid><dc:creator>velio</dc:creator><slash:comments>2</slash:comments><description>&lt;p&gt;When tasking for assembly resources, especially for localized strings, I prefer putting them in a separate assembly.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Main problem I faced in that approach is to make the resources visible outside the assembly, export them. As you know, the generated classes by ResXFileCodeGenerator&amp;nbsp; for strong type resource are not public. They are not even partial, which can give Us the ability to solve the issue.&lt;/p&gt;
&lt;p&gt;The common solution is the add some public utility class to the work. Those classes as usual will have some methods to return the resource by provided key.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The main disadvantages of that approach are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;losing the strong type view of the resource; &lt;/li&gt;
&lt;li&gt;cannot bind the resources in the markup, but have to set all the localized strings in the code behind; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I like the way to bind the resource in the markup through the existing Resources expression builder. &lt;br /&gt;For example:&lt;/p&gt;
&lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;
&lt;p style="margin:0px;"&gt;&amp;lt;&lt;span style="color:#fddf39;"&gt;asp&lt;/span&gt;:&lt;span style="color:#fddf39;"&gt;Label&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;runat&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Tex&lt;/span&gt;=&lt;span style="color:lime;"&gt;&amp;quot;&amp;lt;%$ Resources: Strings, UserName %&amp;gt;&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span style="color:#fddf39;"&gt;asp&lt;/span&gt;:&lt;span style="color:#fddf39;"&gt;Label&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;The problem with the above example is that works for the internal assembly resources. &lt;br /&gt;&lt;br /&gt;So, I needed a way to put my localization resources in a separated assembly and still be able to bind them in the markup like using the Resources expression builder.&lt;/p&gt;
&lt;p&gt;As I mentioned above, Resources is an expression builder. Then looks natural to me to create an expression builder to solve my problem.&lt;/p&gt;
&lt;p&gt;I have created the abstract class ExportResourceExpressionBuilder as a base implementation of ExpressionBuilder and abstract property to plug the resource manager later. &lt;br /&gt;Here is the class definition:&lt;/p&gt;
&lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;
&lt;p style="margin:0px;"&gt;[&lt;span style="color:#2b91af;"&gt;ExpressionEditor&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;ExportResourceExpressionEditor&lt;/span&gt;))]&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;abstract&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ExportResourceExpressionBuilder&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;ExpressionBuilder&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Properties&amp;nbsp; ///////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Gets the resource manager.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The resource manager.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;abstract&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ResourceManager&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ResourceManager&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Methods ///////////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; When overridden in a derived class, returns an object that represents the parsed expression.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;expression&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The value of the declarative expression.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;propertyType&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The type of the property bound to by the expression.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;context&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;Contextual information for the evaluation of the expression.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; An &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;see cref=&amp;quot;T:System.Object&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt; containing the parsed representation of the expression; otherwise, null if &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;see cref=&amp;quot;M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt; is not implemented.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;override&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;object&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ParseExpression&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;expression&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;propertyType&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;ExpressionBuilderContext&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;context&lt;/span&gt;) {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;expression&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; When overridden in a derived class, returns code that is used during page execution to obtain the evaluated expression.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;entry&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The object that represents information about the property bound to by the expression.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;parsedData&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The object containing parsed data as returned by &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;see cref=&amp;quot;M:System.Web.Compilation.ExpressionBuilder.ParseExpression(System.String,System.Type,System.Web.Compilation.ExpressionBuilderContext)&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;context&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;Contextual information for the evaluation of the expression.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; A &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;see cref=&amp;quot;T:System.CodeDom.CodeExpression&amp;quot;/&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt; that is used for property assignment.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;override&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CodeExpression&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;GetCodeExpression&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;BoundPropertyEntry&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;entry&lt;/span&gt;, &lt;span style="color:#f47a00;"&gt;object&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;parsedData&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;ExpressionBuilderContext&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;context&lt;/span&gt;) {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#2b91af;"&gt;ResourceManager&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;manager&lt;/span&gt; = &lt;span style="color:#f47a00;"&gt;this&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ResourceManager&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;manager&lt;/span&gt; != &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;) {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;name&lt;/span&gt; = &lt;span style="color:#2b91af;"&gt;Convert&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;parsedData&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (!&lt;span style="color:#f47a00;"&gt;string&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;IsNullOrEmpty&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;name&lt;/span&gt;)) {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CodePrimitiveExpression&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;this&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ResourceManager&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;GetString&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;name&lt;/span&gt;));&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;CodePrimitiveExpression&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then in assembly of my localization resources I&amp;#39;m adding a simple implementation of ExportResourceExpressionBuilder, where I just have to plug the ResourceManager.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s say I have my resources in Strings.resx and the generated class will be Strings. In that case I will have next implementation for example:&lt;/p&gt;
&lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;StringsExpressionBuilder&lt;/span&gt; : &lt;span style="color:#fddf39;"&gt;ExternalResourceExpressionBuilder&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/span&gt; Properties&amp;nbsp; ///////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Gets the resource manager.&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The resource manager.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;override&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;System&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Resources&lt;/span&gt;.&lt;span style="color:#2b91af;"&gt;ResourceManager&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ResourceManager&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; { &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Strings&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ResourceManager&lt;/span&gt;; }&lt;/p&gt;
&lt;p style="margin:0px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/p&gt;
&lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Now, I&amp;#39;m ready to use my exported localized resources. &lt;br /&gt;For that I need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;to add a reference to the resources assembly to my web project. &lt;/li&gt;
&lt;li&gt;configure my expression builder in Web.config; &lt;/li&gt;
&lt;li&gt;use it in the markup where I need it; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More details&amp;nbsp;can be found under my toolbox &lt;a target="_blank" href="http://artembg.com/toolbox-item/ExportResourcesExpressionBuilder"&gt;&lt;span style="color:#888888;"&gt;here&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;You can get the source and built assembly from &lt;a target="_blank" href="http://artembg.com/download/ExportResourcesExpressionBuilder"&gt;&lt;span style="color:#888888;"&gt;here&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;Check out the article sample video &lt;a target="_blank" href="http://www.artembg.com/video/ExportResourceExpressionBuilder"&gt;&lt;span style="color:#888888;"&gt;here&lt;/span&gt;&lt;/a&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy coding ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=26" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>I have released ASP.NET XmlProviders 2.2</title><link>http://community.artembg.com/blogs/velio/archive/2009/02/16/i-have-released-asp-net-xmlproviders-2-2.aspx</link><pubDate>Mon, 16 Feb 2009 13:42:43 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:22</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hi there,&lt;/p&gt;  &lt;p&gt;Today I have release &lt;a href="http://www.codeplex.com/aspnetxmlproviders/Release/ProjectReleases.aspx?ReleaseId=23320"&gt;ASP.NET XmlProviders 2.2 &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=22" width="1" height="1"&gt;</description></item><item><title>The laziest property lazy-initialization</title><link>http://community.artembg.com/blogs/velio/archive/2009/02/13/the-laziest-property-lazy-initialization.aspx</link><pubDate>Fri, 13 Feb 2009 09:37:39 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:19</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Today I want to revue the history of property lazy-initialization I used over the years.   &lt;br /&gt;Further more, I decided to &amp;quot;measure&amp;quot; if I&amp;#39;m changing for good and is the pattern I use last is the best, the most optimized one.&lt;/p&gt;  &lt;p&gt;First, in the old good years I used the &amp;quot;standard&amp;quot; lazy-initialization pattern:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;First&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt; == &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Then, at some point I realized I could use by my opinion better pattern:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Second&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt; != &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;) ? &lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt; : (&lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Last, I found out the good usage of &amp;quot;??&amp;quot; operator on property lazy-initialization and here is my latest pattern:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Last&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;_last&lt;/span&gt; ?? (&lt;span style="color:#fddf39;"&gt;_last&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;So, in code the last one looks better, shorter and more optimized like.   &lt;br /&gt;But, is that the real case. I decided to check out the generated IL and here are the results:&lt;/p&gt;  &lt;p&gt;First :&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;.&lt;span style="color:#fddf39;"&gt;method&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;hidebysig&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;specialname&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;instance&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;get_First&lt;/span&gt;() &lt;span style="color:#fddf39;"&gt;cil&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;managed&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:green;"&gt;// Code size&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 41 (0x29)&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;maxstack&lt;/span&gt;&amp;#160; &lt;span style="color:yellow;"&gt;2&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;locals&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;init&lt;/span&gt; ([&lt;span style="color:yellow;"&gt;0&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;1&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0000&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;span style="color:yellow;"&gt;1&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;bool&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;4&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0001&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0000&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0001&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0002&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0007&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldnull&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0008&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ceq&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000a&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldc&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;i4&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000b&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ceq&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000d&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000e&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000f&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001e&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0011&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0012&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0013&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldstr&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0018&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001d&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001e&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001f&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_first&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0024&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0025&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0027&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0027&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0028&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ret&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;} &lt;span style="color:green;"&gt;// end of method Test::get_First&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Second:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;.&lt;span style="color:#fddf39;"&gt;method&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;hidebysig&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;specialname&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;instance&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;get_Second&lt;/span&gt;() &lt;span style="color:#fddf39;"&gt;cil&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;managed&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:green;"&gt;// Code size&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 36 (0x24)&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;maxstack&lt;/span&gt;&amp;#160; &lt;span style="color:yellow;"&gt;3&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;locals&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;init&lt;/span&gt; ([&lt;span style="color:yellow;"&gt;0&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;1&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0000&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;span style="color:yellow;"&gt;1&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0001&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0000&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0001&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0002&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0007&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0019&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0009&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000a&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldstr&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000f&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0010&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0011&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0016&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0017&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001f&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0019&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001a&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_second&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001f&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0020&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0022&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0022&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0023&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ret&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;} &lt;span style="color:green;"&gt;// end of method Test::get_Second&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Last:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;.&lt;span style="color:#fddf39;"&gt;method&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;hidebysig&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;specialname&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;instance&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;get_Last&lt;/span&gt;() &lt;span style="color:#fddf39;"&gt;cil&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;managed&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;{&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:green;"&gt;// Code size&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 30 (0x1e)&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;maxstack&lt;/span&gt;&amp;#160; &lt;span style="color:yellow;"&gt;3&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; .&lt;span style="color:#fddf39;"&gt;locals&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;init&lt;/span&gt; ([&lt;span style="color:yellow;"&gt;0&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;1&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0000&lt;/span&gt;,&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;span style="color:yellow;"&gt;1&lt;/span&gt;] &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;CS&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0&lt;/span&gt;$&lt;span style="color:yellow;"&gt;0001&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0000&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0001&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0002&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_last&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0007&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0008&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0019&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000a&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;pop&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000b&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldarg&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_000c&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldstr&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:lime;"&gt;&amp;quot;Initialized&amp;quot;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0011&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0012&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0013&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stfld&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;Artem&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;WebSite&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Models&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Test&lt;/span&gt;::&lt;span style="color:#fddf39;"&gt;_last&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0018&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.1&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_0019&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;stloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001a&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;s&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001c&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001c&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ldloc&lt;/span&gt;&lt;span style="color:yellow;"&gt;.0&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160; &lt;span style="color:#fddf39;"&gt;IL_001d&lt;/span&gt;:&amp;#160; &lt;span style="color:#fddf39;"&gt;ret&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;} &lt;span style="color:green;"&gt;// end of method Test::get_Last&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;   &lt;br /&gt;Less lines in IL for every next pattern, which should means better and more optimized code.    &lt;br /&gt;Great. I&amp;#39;m happy now and I&amp;#39;m sure my lazy-initialization pattern has changed for good&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps...&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=19" width="1" height="1"&gt;</description></item><item><title>DateTime.ToSiteString() Extension Method</title><link>http://community.artembg.com/blogs/velio/archive/2009/01/12/datetime-tositestring-extension-method.aspx</link><pubDate>Mon, 12 Jan 2009 13:12:52 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:12</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I&amp;#39;m mostly using LINQ to SQL and Entity Framework recently.    &lt;br /&gt;As you know, the datetime database fields are returned as Nullables of type DateTime, if they allow NULL values and I found myself adding a lot of additional data class properties like:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ModifiedString&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;this&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ModifiedOn&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;HasValue&lt;/span&gt; &lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ? &lt;span style="color:#f47a00;"&gt;this&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ModifiedOn&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Value&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;dd MMM yyyy&amp;quot;&lt;/span&gt;) : &lt;span style="color:lime;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;So, I decided to wrap that an a nice Extension Method, make it once, and then just use it.&lt;/p&gt;  &lt;p&gt;And here is what I came up with:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;namespace&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;System&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;XtsDate&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Static Fields /////////////////////////////////////////////////////////////////////&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Gets the date format.&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;value&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The date format.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/value&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;DateFormat&lt;/span&gt; = &lt;span style="color:lime;"&gt;&amp;quot;dd MMM yyyy&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #region&lt;/span&gt; Static Methods ////////////////////////////////////////////////////////////////////&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Toes the site string.&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;date&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The date.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ToSiteString&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;date&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;date&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;DateFormat&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; Toes the site string.&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;param name=&amp;quot;date&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:green;"&gt;The date.&lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:gray;"&gt;///&lt;/span&gt;&lt;span style="color:green;"&gt; &lt;/span&gt;&lt;span style="color:gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ToSiteString&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;DateTime&lt;/span&gt;? &lt;span style="color:#fddf39;"&gt;date&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;date&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;HasValue&lt;/span&gt; ? &lt;span style="color:#fddf39;"&gt;date&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;Value&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;DateFormat&lt;/span&gt;) : &lt;span style="color:lime;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:blue;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #endregion&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;Now, when I need some DateTime field as string I just can use:&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;return&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;this&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ModifiedOn&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ToSiteString&lt;/span&gt;();&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hope this helps anyone ...&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=12" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/.net+c_2300_/default.aspx">.net c#</category></item><item><title>The secret of 'Convert to Web Application'</title><link>http://community.artembg.com/blogs/velio/archive/2008/12/19/the-secret-of-convert-to-web-application.aspx</link><pubDate>Fri, 19 Dec 2008 08:47:32 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:9</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Probably you, as I did, wondering why &amp;#39;Convert to Web Application&amp;#39; option is available only on Web Application project. &lt;/p&gt;  &lt;p&gt;In first thought: there is no sense to convert Web Application to Web Application.    &lt;br /&gt;I have tried couple of times to use that on an existing Web Site, but with no luck at all.&lt;/p&gt;  &lt;p&gt;&amp;quot;This is totally useless&amp;quot; - I thought to myself.    &lt;br /&gt;Then recently I found how it can be used and it appears to me reasonable to have that option on an Web Application. Maybe the name is not very helpful and push your thoughts in different direction, but nothing is perfect.&lt;/p&gt;  &lt;p&gt;However, here is the case I used that.    &lt;br /&gt;Recently, I have started to spend some time on updating my personal web site &lt;a href="http://artembg.com"&gt;http://artembg.com&lt;/a&gt;     &lt;br /&gt;Mostly because I want to make it more useful and be able to add some other stuff there, not just projects.     &lt;br /&gt;Originally I have used Web Site project, but now I decided to go for Web Application and adding support the &amp;quot;top of the pop&amp;quot; ASP.NET MVC in same context as my good old existing WebForms.&lt;/p&gt;  &lt;p&gt;So, I have created a Web Application project and moved my existing WebForms to the new Web Application project.    &lt;br /&gt;When I tried to compile the project I got a lot of errors. Errors which at first surprise me a lot.     &lt;br /&gt;In the code-behind were missing all the server-side controls references using on the WebForms.&lt;/p&gt;  &lt;p&gt;For example:    &lt;br /&gt;Error&amp;#160;&amp;#160;&amp;#160; 49&amp;#160;&amp;#160;&amp;#160; The name &amp;#39;_txtEmail&amp;#39; does not exist in the current context &lt;/p&gt;  &lt;p&gt;Then I found what&amp;#39;s wrong - I was missing all the *.designer.cs files for all the WebForms I have moved to the new Web Application. Where actually all server-side controls are defined for WebForms in a Web Application.    &lt;br /&gt;Looking around for some time and thinking what I can do, my attention was grabbed by &amp;#39;Convert to Web Application&amp;#39; item in the context menu. I used it and here it was, magic happens I got my *.designer.cs file generated for the WebForm and errors gone.&lt;/p&gt;  &lt;p&gt;That&amp;#39;s it. I found what and when to use that for and that made my day.    &lt;br /&gt;So, if you have same problem I hope with this post to make your day too :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Check out the short sample video &lt;a href="http://www.artembg.com/video/ConvertToWebApplication" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy coding ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=9" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/asp.net+VisualStudio2008/default.aspx">asp.net VisualStudio2008</category></item><item><title>Two simple Extension Methods for Reader</title><link>http://community.artembg.com/blogs/velio/archive/2008/12/16/two-simple-extension-methods-for-reader.aspx</link><pubDate>Tue, 16 Dec 2008 13:45:03 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:8</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;I have added to my Extension Methods library a very useful &lt;strong&gt;ForEachLine&lt;/strong&gt; methods, that extends the &lt;strong&gt;TextReader&lt;/strong&gt; and &lt;strong&gt;FileInfo&lt;/strong&gt; functionality.    &lt;br /&gt;The purpose of those methods is simple: provides ability to provide action to invoked for each line of a &lt;strong&gt;TextReader&lt;/strong&gt; of file.&lt;/p&gt;  &lt;p&gt;Here are the methods for anyone how find them useful, as well.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;&lt;strong&gt;TextReader ForEachLine Extension Method&lt;/strong&gt;&lt;/u&gt;&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;void&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ForEachLine&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;TextReader&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;reader&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color:#f47a00;"&gt;string&lt;/span&gt;&amp;gt; &lt;span style="color:#fddf39;"&gt;action&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;reader&lt;/span&gt; == &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;throw&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;reader&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;action&lt;/span&gt; == &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;throw&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;action&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;string&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;line&lt;/span&gt;;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;while&lt;/span&gt; ((&lt;span style="color:#fddf39;"&gt;line&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;reader&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ReadLine&lt;/span&gt;()) != &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;action&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;line&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;FileInfo ForEachLine Extension Method&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;div style="font-size:11px;background:#202020;color:white;font-family:consolas;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#f47a00;"&gt;public&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;static&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;void&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;ForEachLine&lt;/span&gt;(&lt;span style="color:#f47a00;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FileInfo&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;file&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;Action&lt;/span&gt;&amp;lt;&lt;span style="color:#f47a00;"&gt;string&lt;/span&gt;&amp;gt; &lt;span style="color:#fddf39;"&gt;action&lt;/span&gt;) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;if&lt;/span&gt; (&lt;span style="color:#fddf39;"&gt;file&lt;/span&gt; == &lt;span style="color:#f47a00;"&gt;null&lt;/span&gt;)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;throw&lt;/span&gt; &lt;span style="color:#f47a00;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="color:lime;"&gt;&amp;quot;file&amp;quot;&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#f47a00;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;StreamReader&lt;/span&gt; &lt;span style="color:#fddf39;"&gt;reader&lt;/span&gt; = &lt;span style="color:#fddf39;"&gt;file&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;OpenText&lt;/span&gt;()) {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#fddf39;"&gt;reader&lt;/span&gt;.&lt;span style="color:#fddf39;"&gt;ForEachLine&lt;/span&gt;(&lt;span style="color:#fddf39;"&gt;action&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Happy coding ...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=8" width="1" height="1"&gt;</description></item><item><title>Welcome</title><link>http://community.artembg.com/blogs/velio/archive/2008/12/05/welcome.aspx</link><pubDate>Fri, 05 Dec 2008 13:55:11 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:7</guid><dc:creator>velio</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Hello and welcome to my new blog.   &lt;br /&gt;This is my first post here and I look forward to find time keep it running with interesting and useful articles.&lt;/p&gt;  &lt;p&gt;The articles will be related to programing and mostly to my domains of work: .NET, ASP.NET, MS SQL, AJAX, JavaScript etc.&lt;/p&gt;  &lt;p&gt;Best Regards,   &lt;br /&gt;See you around&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=7" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/velio/archive/tags/Common/default.aspx">Common</category></item><item><title>Welcome to Community Server Blogs!</title><link>http://community.artembg.com/blogs/sample_weblog/archive/2008/12/05/My-First-Post.aspx</link><pubDate>Fri, 05 Dec 2008 13:04:31 GMT</pubDate><guid isPermaLink="false">d940e6da-e8a2-44c6-b8b1-ae79213f3010:2</guid><dc:creator>admin</dc:creator><slash:comments>0</slash:comments><description>
		&lt;p&gt;A weblog (blog) is an online journal you can use to share thoughts, ideas, gripes, project status, or anything else you want. Blogs allow you to be a contributor rather than just a bystander.&lt;/p&gt;
		&lt;p&gt;Postings are arranged chronologically and can be categorized depending upon how the administrator has configured the system. You can view a post by clicking on the title from the home page where all users' posts are collectively shown. Once viewing a blog you can read other posts by that person or provide comments on postings.&lt;/p&gt;
		&lt;p&gt;Creating new posts is quick and easy. If you have the ability to post you should see a link (usually on the left) on your weblog's home page: new post. Clicking on this link takes you into your blogs administration pages for creating new posts.&lt;/p&gt;
		&lt;p&gt;If you don't have the ability to post, contact the site administrator and ask for your own blog.&lt;/p&gt;
		&lt;p&gt;Happy Blogging!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://community.artembg.com/aggbug.aspx?PostID=2" width="1" height="1"&gt;</description><category domain="http://community.artembg.com/blogs/sample_weblog/archive/tags/Blogging/default.aspx">Blogging</category></item></channel></rss>