<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>My Blog</title><link>http://www.artembg.com:80/blog</link><description>My Blog</description><item><title>XML Providers 4.0beta under Tiny Providers released</title><link>http://www.artembg.com:80/blog/xml-providers-4.0beta-under-tiny-providers-released</link><description>&lt;p&gt;Today I released &lt;a mce_href="http://tinyproviders.codeplex.com/releases/view/52967" target="_blank" href="http://tinyproviders.codeplex.com/releases/view/52967"&gt;XML Providers  4.0beta&lt;/a&gt; under &lt;a mce_href="http://tinyproviders.codeplex.com/" target="_blank" href="http://tinyproviders.codeplex.com/"&gt;Tiny Membership Providers&lt;/a&gt; project.&lt;/p&gt;
&lt;p&gt;Custom ASP.NET XML membership providers targeting .NET 4.0 &lt;br /&gt;The  implementation ASP.NET XML membership providers targeting .NET 2.0 could be  found at &lt;a mce_href="http://aspnetxmlproviders.codeplex.com/" href="http://aspnetxmlproviders.codeplex.com/"&gt;ASP.NET XmlProviders&lt;/a&gt; &lt;br /&gt;I start with version 4.0 by purpose. &lt;br /&gt;The versions bellow 4.0 are kept  for future releases of .NET 2.0 implementation of ASP.NET XML membership  providers.&lt;/p&gt;
&lt;p&gt;For how to use samples, please, check out the SampleWebSite under downloads.  &lt;br /&gt;Some more samples and screencast will be provided as possible.&lt;/p&gt;</description><pubDate>Thu, 13 Jan 2011 20:37:27 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/xml-providers-4.0beta-under-tiny-providers-released</guid></item><item><title>Extension Methods: HtmlTextWriter part 1 - RenderTag</title><link>http://www.artembg.com:80/blog/extension-methods-htmltextwriter-part-1.rendertag</link><description>&lt;p&gt;So, for me case is clear guys: &lt;strong&gt;&lt;em&gt;&amp;ldquo;Static helper methods are dead,  long live the Extension Methods.&amp;rdquo; &lt;br /&gt;&lt;/em&gt;&lt;/strong&gt;Since extension methods were  out, I become a big fan of them. &lt;br /&gt;For example, instead of:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;StringHelper.Encode(&amp;ldquo;Some secret&amp;rdquo;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;it looks much more nice and natural to me:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;rdquo;Some secret&amp;rdquo;.Encode();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I have implemented and I&amp;rsquo;m using tons of extension methods so far and I  decided to start a category in my blog where to share some of them with you  guys. &lt;br /&gt;Hope all those methods to be useful to you too, as they are to me.&lt;/p&gt;
&lt;p&gt;First of the series will be a couple of extension methods to HtmlTextWriter.  &lt;br /&gt;You know, as a web and especially web controls developer, I use it much and  that&amp;rsquo;s why I like extending it.&lt;/p&gt;
&lt;p&gt;During my development I found a lot of lines where I just render and open tag  and then immediately the closing (end) tag is rendered, like:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.AddAttribute(HtmlTextWriterAttribute.Id, fieldName + &lt;span mce_style="color: #006080" style="color: #006080;"&gt;"_Error"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;writer.AddAttribute(HtmlTextWriterAttribute.Class, &lt;span mce_style="color: #006080" style="color: #006080;"&gt;"field-validation-error"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.RenderBeginTag(HtmlTextWriterTag.Span);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The other case I often found myself using is: open tag, write some content  text and closing the tag, like:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.RenderBeginTag(HtmlTextWriterTag.Span);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;writer.Write(&lt;span mce_style="color: #006080" style="color: #006080;"&gt;"allow editing"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I have developed some snippets for Visual Studio, which you could find at my  website, in order to speed up typing such a kind of code bocks, but at some  point I said to myself: why not merge those lines in a single methods. Of  course, in a single extension method &lt;img mce_src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" src="http://spaces.live.com/rte/emoticons/smile_teeth.gif" alt="smile_teeth" /&gt;.&lt;/p&gt;
&lt;p&gt;Here are the simple extension methods I came with:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; height: 252px; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// Renders the tag.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="writer"&amp;gt;The writer.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="tag"&amp;gt;The tag.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;void&lt;/span&gt; RenderTag(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt; HtmlTextWriter writer, HtmlTextWriterTag tag) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    writer.RenderBeginTag(tag);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// Renders the tag.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="writer"&amp;gt;The writer.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="tag"&amp;gt;The tag.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;void&lt;/span&gt; RenderTag(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt; HtmlTextWriter writer, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; tag) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    writer.RenderBeginTag(tag);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// Renders the tag.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="writer"&amp;gt;The writer.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="tag"&amp;gt;The tag.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="content"&amp;gt;The content.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;void&lt;/span&gt; RenderTag(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt; HtmlTextWriter writer, HtmlTextWriterTag tag, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; content) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    writer.RenderBeginTag(tag);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    writer.Write(content);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// Renders the tag.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="writer"&amp;gt;The writer.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="tag"&amp;gt;The tag.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/// &amp;lt;param name="content"&amp;gt;The content.&amp;lt;/param&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;void&lt;/span&gt; RenderTag(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt; HtmlTextWriter writer, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; tag, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; content) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    writer.RenderBeginTag(tag);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    writer.Write(content);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    writer.RenderEndTag();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Now using those extension methods the sample lines of code above will  become:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.AddAttribute(HtmlTextWriterAttribute.Id, fieldName + &lt;span mce_style="color: #006080" style="color: #006080;"&gt;"_Error"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;writer.AddAttribute(HtmlTextWriterAttribute.Class, &lt;span mce_style="color: #006080" style="color: #006080;"&gt;"field-validation-error"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.RenderTag(HtmlTextWriterTag.Span);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;and:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;writer.RenderTag(HtmlTextWriterTag.Span, &lt;span mce_style="color: #006080" style="color: #006080;"&gt;"allow editing"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Hope this helps.&lt;/p&gt;
&lt;p&gt;Regards, &lt;br /&gt;Velio&lt;/p&gt;</description><pubDate>Tue, 17 Aug 2010 08:51:12 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/extension-methods-htmltextwriter-part-1.rendertag</guid></item><item><title>Google Geocoder 1.0</title><link>http://www.artembg.com:80/blog/google-geocoder-1.0</link><description>&lt;p&gt;Google Geocoding Web Service via HTTP .NET client implemented in  request(GeoRequest)-response(GeoResponse) fashion.&lt;/p&gt;
&lt;h6&gt;Installation &amp;amp; Usage&lt;/h6&gt;
&lt;p&gt;In order to use the GoogleGecoding you have to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;add reference to Artem.GoogleGeocoding&lt;/li&gt;
&lt;li&gt;add using statement for Artem.Google.Net namespace.&lt;/li&gt;
&lt;/ol&gt;
&lt;h6&gt;Features&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Support standard and reverse geocoding;&lt;/li&gt;
&lt;/ul&gt;
&lt;h6&gt;Samples&lt;/h6&gt;
&lt;ul&gt;
&lt;li&gt;Geocoding Request&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;GeoRequest request = &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;new&lt;/span&gt; GeoRequest(&lt;span mce_style="color: #006080" style="color: #006080;"&gt;"plovdiv bulgaria"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;GeoResponse response = request.GetResponse();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;GeoLocation location = response.Results[0].Geometry.Location;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;double&lt;/span&gt; latitude = location.Latitude;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;double&lt;/span&gt; longitude = location.Longitude;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;// TODO use latitude/longitude values&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Reverse Geocoding Request&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;GeoRequest request = &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;new&lt;/span&gt; GeoRequest(42.1438409, 24.7495615);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;GeoResponse response = request.GetResponse();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; address = response.Results[0].FormattedAddress;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;// TODO use address values&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;</description><pubDate>Sun, 01 Aug 2010 16:45:05 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/google-geocoder-1.0</guid></item><item><title>VisualStudion 2010 Javascript Outlining 1.2</title><link>http://www.artembg.com:80/blog/visualstudion-2010-javascript-outlining-1.2</link><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 id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;background-color&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-family&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-size&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;11px;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&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 id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/*#region Test */&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;background-color&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-family&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-size&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;11px;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h1&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h2&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h3&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h4&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;color&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;#5377A9;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-family&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;Tahoma;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/*#endregion*/&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&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 id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/*#&amp;gt; Test */&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;body&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;background-color&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;#AAA;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-family&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;Verdana;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-size&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;11px;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h1&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h2&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h3&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;h4&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;color&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;#5377A9;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;font-family&lt;/span&gt;: &lt;span mce_style="color: #006080" style="color: #006080;"&gt;Tahoma;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #008000" style="color: #008000;"&gt;/*#&amp;lt;*/&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;</description><pubDate>Thu, 29 Jul 2010 18:11:25 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/visualstudion-2010-javascript-outlining-1.2</guid></item><item><title>VisualStudion 2010 Javascript Outlining 1.0</title><link>http://www.artembg.com:80/blog/visualstudion-2010-javascript-outlining-1.0</link><description>&lt;p&gt;&amp;nbsp;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 mce_href="http://googlemap.codeplex.com/releases/view/46542" target="_blank" href="http://googlemap.codeplex.com/releases/view/46542"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Enjoy&lt;/p&gt;</description><pubDate>Sat, 05 Jun 2010 13:06:05 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/visualstudion-2010-javascript-outlining-1.0</guid></item><item><title>“Fixing” Visual Studio 2010 HTML snippets</title><link>http://www.artembg.com:80/blog/fixing-visual-studio-2010-html-snippets</link><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 "fix" them.&lt;/p&gt;
&lt;p&gt;Check out &lt;a mce_href="http://artembg.com/video/FixingHtmlSnippets" target="_blank" href="http://artembg.com/video/FixingHtmlSnippets"&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;</description><pubDate>Wed, 21 Apr 2010 15:41:35 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/fixing-visual-studio-2010-html-snippets</guid></item><item><title>GoogleMap Control using MarkerManager video</title><link>http://www.artembg.com:80/blog/googlemap-control-using-markermanager-video</link><description>&lt;p&gt;Hi, I have published a new short &amp;ldquo;HowTo&amp;rdquo; video about how to use MarkerManager  with GoogleMap Control 4.1. &lt;br /&gt;Check it out &lt;a mce_href="http://artembg.com/video/GoogleMapControl-MarkerManager" target="_blank" href="http://artembg.com/video/GoogleMapControl-MarkerManager"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The background music is a track of the new upcoming album of my friend  Svetlin Staykov &amp;ndash; Slow Project. &lt;br /&gt;I hope you enjoy both, video and music.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Wed, 25 Nov 2009 08:53:53 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/googlemap-control-using-markermanager-video</guid></item><item><title>GoogleMap Control 4.1 beta released</title><link>http://www.artembg.com:80/blog/googlemap-control-4.1-beta-released</link><description>&lt;p&gt;I just released GoogleMap Control 4.1 beta. &lt;br /&gt;Get it from &lt;a mce_href="http://googlemap.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35111" target="_blank" href="http://googlemap.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35111"&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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7986" 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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7453" href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7453"&gt;Subsequent  markers don't show after unsuccessful geocode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7870" 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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=8037" 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'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 mce_href="http://code.google.com/p/gmaps-utility-library-dev/" 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 mce_href="http://googlemap.artembg.com/marker/MarkerManager.aspx" 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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7761" 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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7918" href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=7918"&gt;Add  'preserveViewport' 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 mce_href="http://googlemap.codeplex.com/WorkItem/View.aspx?WorkItemId=9087" 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' 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;nbsp;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Tue, 24 Nov 2009 10:30:27 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/googlemap-control-4.1-beta-released</guid></item><item><title>JS Pseudo-Named functions</title><link>http://www.artembg.com:80/blog/js-pseudo-named-functions</link><description>&lt;p&gt;I&amp;rsquo;m working recently on next release of GoogleMap Control v4.1. &lt;br /&gt;As I have  mentioned - I&amp;rsquo;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&amp;rsquo;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  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 mce_href="/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_57157A64.gif" href="http://community.artembg.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_57157A64.gif"&gt;&lt;img mce_src="/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_thumb_5F00_4DBC45E1.gif" mce_style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" height="263" width="644" src="http://community.artembg.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/velio/pseudonamed_5F00_thumb_5F00_4DBC45E1.gif" alt="pseudo-named" border="0" title="pseudo-named" style="border: 0px currentColor; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this particular case, I just mismatch the functions&amp;rsquo; bodies, but you get  the idea, right.&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Sun, 22 Nov 2009 19:59:49 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/js-pseudo-named-functions</guid></item><item><title>Generic extension method for a safe item value fetch from HttpSessionState.</title><link>http://www.artembg.com:80/blog/generic-extension-method-for-a-safe-item-value-fetch-from-httpsessionstate</link><description>&lt;p&gt;Hi there,&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&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;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;static&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;bool&lt;/span&gt; TryGet&amp;lt;T&amp;gt;(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt; HttpSessionState session, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;string&lt;/span&gt; key, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;out&lt;/span&gt; T &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;value&lt;/span&gt;) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;     &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;bool&lt;/span&gt; flag = &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt;     &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;value&lt;/span&gt; = &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;default&lt;/span&gt;(T);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum5" style="color: #606060;"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum6" style="color: #606060;"&gt;   6:&lt;/span&gt;     &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;if&lt;/span&gt; (session != &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;null&lt;/span&gt;) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum7" style="color: #606060;"&gt;   7:&lt;/span&gt;         &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;object&lt;/span&gt; objectValue = session[key];&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum8" style="color: #606060;"&gt;   8:&lt;/span&gt;         &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;if&lt;/span&gt; (flag = (objectValue != &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; objectValue &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;is&lt;/span&gt; T)) &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;value&lt;/span&gt; = (T)objectValue;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum9" style="color: #606060;"&gt;   9:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum10" style="color: #606060;"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum11" style="color: #606060;"&gt;  11:&lt;/span&gt;     &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;return&lt;/span&gt; flag;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum12" style="color: #606060;"&gt;  12:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The usage is simple like:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;bool&lt;/span&gt; flag;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum2" style="color: #606060;"&gt;   2:&lt;/span&gt; &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;if&lt;/span&gt;(&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;this&lt;/span&gt;.Page.Session.TryGet&amp;lt;&lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;bool&lt;/span&gt;&amp;gt;(&lt;span mce_style="color: #006080" style="color: #006080;"&gt;"MyFlag"&lt;/span&gt;, &lt;span mce_style="color: #0000ff" style="color: #0000ff;"&gt;out&lt;/span&gt; flag)) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span mce_style="color: #606060" id="lnum3" style="color: #606060;"&gt;   3:&lt;/span&gt;     &lt;span mce_style="color: #008000" style="color: #008000;"&gt;// TODO value exists and can be used&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span mce_style="color: #606060" id="lnum4" style="color: #606060;"&gt;   4:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Fri, 09 Oct 2009 08:46:03 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/generic-extension-method-for-a-safe-item-value-fetch-from-httpsessionstate</guid></item><item><title>GoogleMap Control 4.0 released</title><link>http://www.artembg.com:80/blog/googlemap-control-4.0-released</link><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 &amp;ldquo;Look&amp;amp;Feel&amp;rdquo; 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;
&lt;p&gt;(For a full list check out GoogleMap Control 4.0 beta as well)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;MarkerStyle&lt;/b&gt; inner property of GoogleMap control is now available  to master in more general way the "Look&amp;amp;Feel" of all the markers.&lt;/span&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;span style="text-decoration: underline;"&gt;&lt;b&gt;InfoContent&lt;/b&gt; now provides a default implementation of container  control for marker's info window content&lt;/span&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's  InfoWindow content. &lt;/li&gt;
&lt;li&gt;&lt;a mce_href="http://www.artembg.com/video/GoogleMarkerInfoWindow" 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;span style="text-decoration: underline;"&gt;&lt;b&gt;StreetView&lt;/b&gt; support added&lt;/span&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 mce_href="http://googlemap.artembg.com/map/StreetView.aspx" 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;span style="text-decoration: underline;"&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;/span&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;h5&gt;Changes&lt;/h5&gt;
&lt;p&gt;(For a full list check out GoogleMap Control 4.0 beta as well)&lt;/p&gt;
&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;</description><pubDate>Wed, 29 Apr 2009 15:49:28 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/googlemap-control-4.0-released</guid></item><item><title> GoogleMap Control "Look&amp;Feel" video published</title><link>http://www.artembg.com:80/blog/googlemap-control-look-feel-video-published</link><description>&lt;p&gt;I just published a new video: Using Skin to manage GoogleMap Control  "Look&amp;amp;Feel". &lt;br /&gt;Check it out &lt;a mce_href="http://www.artembg.com/video/GoogleMapUsingSkin" target="_blank" href="http://www.artembg.com/video/GoogleMapUsingSkin"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Thu, 02 Apr 2009 11:38:40 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/googlemap-control-look-feel-video-published</guid></item><item><title>ASP.NET MVC View - More then just a page view. Part II</title><link>http://www.artembg.com:80/blog/asp.net-mvc-view.more-then-just-a-page-view.-part-ii</link><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.    &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  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 mce_style="font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; color: white; font-family: consolas; font-size: 11px;"&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; Gets the products Google sitemap.&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;virtual&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;ActionResult&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;GSitemap&lt;/span&gt;() {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;View&lt;/span&gt;(&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;Product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;GetAll&lt;/span&gt;());&lt;/p&gt;
&lt;p mce_style="margin: 0px" 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 mce_style="font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; color: white; font-family: consolas; font-size: 11px;"&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;%@ &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Page&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Language&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"C#"&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Inherits&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"System.Web.Mvc.ViewPage&amp;lt;IEnumerable&amp;lt;Artem.WebSite.Models.Product&amp;gt;&amp;gt;"&lt;/span&gt; %&amp;gt;&amp;lt;?&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;xml&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;version&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"1.0"&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;encoding&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"utf-8"&lt;/span&gt; ?&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;urlset&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;xmlns&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"http://www.google.com/schemas/sitemap/0.84"&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;% &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;foreach&lt;/span&gt; (&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;var&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;in&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;) { %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;url&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;loc&lt;/span&gt;&amp;gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;http&lt;/span&gt;:&lt;span mce_style="color: green" 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 mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;url&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;% } %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" 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;</description><pubDate>Sat, 28 Mar 2009 07:02:35 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/asp.net-mvc-view.more-then-just-a-page-view.-part-ii</guid></item><item><title>ASP.NET MVC View - More than just a page view. Part I</title><link>http://www.artembg.com:80/blog/asp.net-mvc-view.more-than-just-a-page-view.-part-i</link><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;span color="#ff8000" style="color: #ff8000;"&gt;form with runat=server&lt;/span&gt; is required. Further more, We are  even not tailored to HTML  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;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1251\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red244\green122\blue0;\red32\green32\blue32;\red255\green255\blue255;\red43\green145\blue175;\red0\green0\blue255;\red128\green128\blue128;\red0\green128\blue0;\red253\green223\blue57;\red0\green255\blue0;}??\fs24 \cf1\cb2\highlight2 public\cf3  \cf1 class\cf3  \cf4 RssController\cf3  : \cf4 Controller\cf3  \{\par ??\par ??\cf5         #region\cf3  Methods ///////////////////////////////////////////////////////////////////////////\par ??\par ??        \cf6 ///\cf7  \cf6 &amp;lt;summary&amp;gt;\par ??\cf3         \cf6 ///\cf7  Indexes this instance.\par ??\cf3         \cf6 ///\cf7  \cf6 &amp;lt;/summary&amp;gt;\par ??\cf3         \cf6 ///\cf7  \cf6 &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;\par ??\cf3         \cf1 public\cf3  \cf4 ActionResult\cf3  \cf8 Index\cf3 () \{\par ??\par ??            \cf4 RssFeed\cf3  \cf8 feed\cf3  = \cf1 new\cf3  \cf4 RssFeed\cf3 ();\par ??            \cf8 feed\cf3 .\cf8 Title\cf3  = \cf9 "Velio's Products"\cf3 ;\par ??            \cf8 feed\cf3 .\cf8 Description\cf3  = \cf9 "The list of all my products."\cf3 ;\par ??            \cf8 feed\cf3 .\cf8 Link\cf3  = \cf8 HttpContext\cf3 .\cf8 IsDebuggingEnabled\cf3  ? \cf9 "/"\cf3  : \cf9 "http://artembg.com/"\cf3 ;\par ??\par ??            \cf1 bool\cf3  \cf8 flag\cf3  = \cf1 false\cf3 ;\par ??            \cf1 foreach\cf3  (\cf4 Product\cf3  \cf8 product\cf3  \cf1 in\cf3  \cf4 Product\cf3 .\cf8 GetAll\cf3 ()) \{\par ??                \cf1 if\cf3  (!\cf8 flag\cf3 ) \{\par ??                    \cf8 feed\cf3 .\cf8 PubDate\cf3  = \cf8 feed\cf3 .\cf8 LastBuildDate\cf3  = \cf8 product\cf3 .\cf8 ReleaseDate\cf3 ;\par ??                    \cf8 flag\cf3  = \cf1 true\cf3 ;\par ??                \}\par ??                \cf8 feed\cf3 .\cf8 Items\cf3 .\cf8 Add\cf3 (\cf1 new\cf3  \cf4 RssFeedItem\cf3  \{ \par ??                    \cf8 Title\cf3  = \cf8 product\cf3 .\cf8 Title\cf3 , \par ??                    \cf8 Description\cf3  = \cf8 product\cf3 .\cf8 Description\cf3 , \par ??                    \cf8 Link\cf3  = \cf8 product\cf3 .\cf8 HomeUrl\cf3 , \par ??                    \cf8 Guid\cf3  = \cf8 product\cf3 .\cf8 HomeUrl\cf3 , \par ??                    \cf8 PubDate\cf3  = \cf8 product\cf3 .\cf8 ReleaseDate\cf3  \par ??                \});\par ??            \}\par ??\par ??            \cf1 return\cf3  \cf8 View\cf3 (\cf8 feed\cf3 );\par ??        \}} --&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;class&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssController&lt;/span&gt; : &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;Controller&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #region&lt;/span&gt; Methods  ///////////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; Indexes this instance.&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;ActionResult&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Index&lt;/span&gt;() {&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeed&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt; = &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;new&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeed&lt;/span&gt;();&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; = &lt;span mce_style="color: lime" style="color: lime;"&gt;"Velio's Products"&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; = &lt;span mce_style="color: lime" style="color: lime;"&gt;"The list of all my  products."&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;HttpContext&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;IsDebuggingEnabled&lt;/span&gt; ?  &lt;span mce_style="color: lime" style="color: lime;"&gt;"/"&lt;/span&gt; : &lt;span mce_style="color: lime" style="color: lime;"&gt;"http://artembg.com/"&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;bool&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;flag&lt;/span&gt; = &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;foreach&lt;/span&gt; (&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;Product&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;in&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;Product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;GetAll&lt;/span&gt;()) {&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;if&lt;/span&gt; (!&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;flag&lt;/span&gt;) {&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;LastBuildDate&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ReleaseDate&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;flag&lt;/span&gt; = &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Items&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Add&lt;/span&gt;(&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;new&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeedItem&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt;,&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; =  &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt;,&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;HomeUrl&lt;/span&gt;,&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Guid&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;HomeUrl&lt;/span&gt;,&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt; = &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;product&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ReleaseDate&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;});&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;View&lt;/span&gt;(&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;feed&lt;/span&gt;);&lt;/p&gt;
&lt;p mce_style="margin: 0px; font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; margin: 0px; color: white; font-family: consolas; font-size: 11px;"&gt;}&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;!-- {\rtf1\ansi\ansicpg\lang1024\noproof1251\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red255\green255\blue255;\red32\green32\blue32;\red253\green223\blue57;\red0\green255\blue0;\red255\green255\blue0;\red244\green122\blue0;}??\fs24 \cf1\cb2\highlight2 &amp;lt;%@ \cf3 Page\cf1  \cf3 Language\cf1 =\cf4 "C#"\cf1  \cf3 Inherits\cf1 =\cf4 "System.Web.Mvc.ViewPage&amp;lt;Artem.WebSite.Models.RssFeed&amp;gt;"\cf1  %&amp;gt;&amp;lt;?\cf3 xml\cf1  \cf3 version\cf1 =\cf4 "1.0"\cf1  \cf3 encoding\cf1 =\cf4 "utf-8"\cf1  ?&amp;gt;\par ??&amp;lt;\cf3 rss\cf1  \cf3 version\cf1 =\cf4 "2.0"\cf1 &amp;gt;\par ??\tab &amp;lt;\cf3 channel\cf1 &amp;gt;\par ??\tab \tab &amp;lt;\cf3 title\cf1 &amp;gt;&amp;lt;%= \cf3 Model\cf1 .\cf3 Title\cf1  %&amp;gt;&amp;lt;/\cf3 title\cf1 &amp;gt;\par ??\tab \tab &amp;lt;\cf3 link\cf1 &amp;gt;&amp;lt;%= \cf3 Model\cf1 .\cf3 Link\cf1  %&amp;gt;&amp;lt;/\cf3 link\cf1 &amp;gt;\tab \tab \par ??\tab \tab &amp;lt;\cf3 ttl\cf1 &amp;gt;\cf5 10\cf1 &amp;lt;/\cf3 ttl\cf1 &amp;gt;\par ??\tab \tab &amp;lt;\cf3 pubDate\cf1 &amp;gt;&amp;lt;%= \cf3 Model\cf1 .\cf3 PubDateString\cf1  %&amp;gt;&amp;lt;/\cf3 pubDate\cf1 &amp;gt;\par ??\tab \tab &amp;lt;\cf3 lastBuildDate\cf1 &amp;gt;&amp;lt;%= \cf3 Model\cf1 .\cf3 LastBuildDateString\cf1  %&amp;gt;&amp;lt;/\cf3 lastBuildDate\cf1 &amp;gt;\par ??\tab \tab &amp;lt;\cf3 description\cf1 &amp;gt;&amp;lt;![\cf3 CDATA\cf1 [\par ??\tab \tab &amp;lt;%= \cf3 Model\cf1 .\cf3 Description\cf1  %&amp;gt;\par ??\tab \tab ]]&amp;gt;&amp;lt;/\cf3 description\cf1 &amp;gt;\par ??\tab \tab &amp;lt;% \cf6 foreach\cf1  (\cf3 var\cf1  \cf3 item\cf1  \cf6 in\cf1  \cf3 Model\cf1 .\cf3 Items\cf1 ) \{ %&amp;gt;\par ??\tab \tab &amp;lt;\cf3 item\cf1 &amp;gt;\par ??\tab \tab     &amp;lt;\cf3 title\cf1 &amp;gt;&amp;lt;%= \cf3 item\cf1 .\cf3 Title\cf1  %&amp;gt;&amp;lt;/\cf3 title\cf1 &amp;gt;\par ??\tab \tab     &amp;lt;\cf3 link\cf1 &amp;gt;&amp;lt;%= \cf3 item\cf1 .\cf3 Link\cf1  %&amp;gt;&amp;lt;/\cf3 link\cf1 &amp;gt;\par ??\tab \tab     &amp;lt;\cf3 guid\cf1 &amp;gt;&amp;lt;%= \cf3 item\cf1 .\cf3 Link\cf1  %&amp;gt;&amp;lt;/\cf3 guid\cf1 &amp;gt;\par ??\tab \tab     &amp;lt;\cf3 pubDate\cf1 &amp;gt;&amp;lt;%= \cf3 item\cf1 .\cf3 PubDateString\cf1  %&amp;gt;&amp;lt;/\cf3 pubDate\cf1 &amp;gt;\par ??\tab \tab     &amp;lt;\cf3 description\cf1 &amp;gt;&amp;lt;![\cf3 CDATA\cf1 [\par ??\tab \tab     &amp;lt;%= \cf3 item\cf1 .\cf3 Description\cf1  %&amp;gt;\par ??\tab \tab     ]]&amp;gt;&amp;lt;/\cf3 description\cf1 &amp;gt;\par ??\tab \tab &amp;lt;/\cf3 item\cf1 &amp;gt;\par ??\tab \tab &amp;lt;% \} %&amp;gt;\par ??\tab &amp;lt;/\cf3 channel\cf1 &amp;gt;\par ??&amp;lt;/\cf3 rss\cf1 &amp;gt;} --&gt;
&lt;div mce_style="font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; color: white; font-family: consolas; font-size: 11px;"&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;%@ &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Page&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Language&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"C#"&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Inherits&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"System.Web.Mvc.ViewPage&amp;lt;Artem.WebSite.Models.RssFeed&amp;gt;"&lt;/span&gt; %&amp;gt;&amp;lt;?&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;xml&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;version&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"1.0"&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;encoding&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"utf-8"&lt;/span&gt; ?&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;rss&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;version&lt;/span&gt;=&lt;span mce_style="color: lime" style="color: lime;"&gt;"2.0"&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;channel&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;title&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;link&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;link&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ttl&lt;/span&gt;&amp;gt;&lt;span mce_style="color: yellow" style="color: yellow;"&gt;10&lt;/span&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ttl&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;lastBuildDate&lt;/span&gt;&amp;gt;&amp;lt;%=  &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;LastBuildDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;lastBuildDate&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;description&lt;/span&gt;&amp;gt;&amp;lt;![&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;CDATA&lt;/span&gt;[&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;]]&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;description&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;% &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;foreach&lt;/span&gt; (&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;var&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;in&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Model&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Items&lt;/span&gt;) { %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;title&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;title&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;link&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;link&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;guid&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;guid&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDateString&lt;/span&gt; %&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;pubDate&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;description&lt;/span&gt;&amp;gt;&amp;lt;![&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;CDATA&lt;/span&gt;[&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;%= &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;]]&amp;gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;description&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;item&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;% } %&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;channel&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;lt;/&lt;span mce_style="color: #fddf39" 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;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red128\green128\blue128;\red32\green32\blue32;\red0\green128\blue0;\red244\green122\blue0;\red255\green255\blue255;\red43\green145\blue175;\red0\green0\blue255;\red253\green223\blue57;\red0\green255\blue0;}??\fs24 \cf1\cb2\highlight2 ///\cf3  \cf1 &amp;lt;summary&amp;gt;\par ??///\cf3  \par ??\cf1 ///\cf3  \cf1 &amp;lt;/summary&amp;gt;\par ??\cf4 public\cf5  \cf4 class\cf5  \cf6 RssFeed\cf5  \{\par ??\par ??\cf7     #region\cf5  Static Fields /////////////////////////////////////////////////////////////////////\par ??\par ??    \cf6 List\cf5 &amp;lt;\cf6 RssFeedItem\cf5 &amp;gt; \cf8 _items\cf5 ;\par ??\par ??\cf7     #endregion\par ??\par ??    #region\cf5  Properties  ///////////////////////////////////////////////////////////////////////\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Title\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Description\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Link\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf6 DateTime\cf5  \cf8 PubDate\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf6 DateTime\cf5  \cf8 LastBuildDate\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 PubDateString\cf5  \{\par ??        \cf4 get\cf5  \{\par ??            \cf4 return\cf5  \cf8 PubDate\cf5 .\cf8 ToUniversalTime\cf5 ().\cf8 ToString\cf5 (\cf9 "R"\cf5 );\par ??        \}\par ??    \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 LastBuildDateString\cf5  \{\par ??        \cf4 get\cf5  \{\par ??            \cf4 return\cf5  \cf8 LastBuildDate\cf5 .\cf8 ToUniversalTime\cf5 ().\cf8 ToString\cf5 (\cf9 "R"\cf5 );\par ??        \}\par ??    \}\par ??\par ??    \cf4 public\cf5  \cf6 List\cf5 &amp;lt;\cf6 RssFeedItem\cf5 &amp;gt; \cf8 Items\cf5  \{\par ??        \cf4 get\cf5  \{\par ??            \cf4 return\cf5  \cf8 _items\cf5  ?? (\cf8 _items\cf5  = \cf4 new\cf5  \cf6 List\cf5 &amp;lt;\cf6 RssFeedItem\cf5 &amp;gt;());\par ??        \}\par ??    \}\par ??\cf7     #endregion\par ??\cf5 \}} --&gt;
&lt;div mce_style="font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; color: white; font-family: consolas; font-size: 11px;"&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;class&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeed&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #region&lt;/span&gt; Static Fields  /////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;_items&lt;/span&gt;;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #region&lt;/span&gt; Properties   ///////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;DateTime&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;DateTime&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;LastBuildDate&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDateString&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToString&lt;/span&gt;(&lt;span mce_style="color: lime" style="color: lime;"&gt;"R"&lt;/span&gt;);&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;LastBuildDateString&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;LastBuildDate&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToString&lt;/span&gt;(&lt;span mce_style="color: lime" style="color: lime;"&gt;"R"&lt;/span&gt;);&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Items&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;_items&lt;/span&gt; ?? (&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;_items&lt;/span&gt; = &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;new&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeedItem&lt;/span&gt;&amp;gt;());&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;The entire RssFeedItem class: &lt;!-- {\rtf1\ansi\ansicpg\lang1024\noproof65001\uc1 \deff0{\fonttbl{\f0\fnil\fcharset0\fprq1 Consolas;}}{\colortbl;??\red128\green128\blue128;\red32\green32\blue32;\red0\green128\blue0;\red244\green122\blue0;\red255\green255\blue255;\red43\green145\blue175;\red0\green0\blue255;\red253\green223\blue57;\red0\green255\blue0;}??\fs24 \cf1\cb2\highlight2 ///\cf3  \cf1 &amp;lt;summary&amp;gt;\par ??///\cf3  \par ??\cf1 ///\cf3  \cf1 &amp;lt;/summary&amp;gt;\par ??\cf4 public\cf5  \cf4 class\cf5  \cf6 RssFeedItem\cf5  \{\par ??\par ??\cf7     #region\cf5  Properties  ///////////////////////////////////////////////////////////////////////\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Title\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Description\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Link\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 Guid\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf6 DateTime\cf5  \cf8 PubDate\cf5  \{ \cf4 get\cf5 ; \cf4 set\cf5 ; \}\par ??\par ??    \cf4 public\cf5  \cf4 string\cf5  \cf8 PubDateString\cf5  \{\par ??        \cf4 get\cf5  \{\par ??            \cf4 return\cf5  \cf8 PubDate\cf5 .\cf8 ToUniversalTime\cf5 ().\cf8 ToString\cf5 (\cf9 "R"\cf5 );\par ??        \}\par ??    \}\par ??\par ??\cf7     #endregion\par ??\cf5 \}} --&gt;
&lt;div mce_style="font-family: consolas; background: #202020; color: white; font-size: 11px" style="background: #202020; color: white; font-family: consolas; font-size: 11px;"&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;///&lt;/span&gt;&lt;span mce_style="color: green" style="color: green;"&gt; &lt;/span&gt;&lt;span mce_style="color: gray" style="color: gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;class&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;RssFeedItem&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #region&lt;/span&gt; Properties   ///////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Title&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Description&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Link&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;Guid&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #2b91af" style="color: #2b91af;"&gt;DateTime&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt; { &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt;; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;set&lt;/span&gt;; }&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;public&lt;/span&gt; &lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;string&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDateString&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: #f47a00" style="color: #f47a00;"&gt;return&lt;/span&gt; &lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;PubDate&lt;/span&gt;.&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToUniversalTime&lt;/span&gt;().&lt;span mce_style="color: #fddf39" style="color: #fddf39;"&gt;ToString&lt;/span&gt;(&lt;span mce_style="color: lime" style="color: lime;"&gt;"R"&lt;/span&gt;);&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p mce_style="margin: 0px" style="margin: 0px;"&gt;&lt;span mce_style="color: blue" style="color: blue;"&gt; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p mce_style="margin: 0px" 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 "Video worth a Million Words", take a look at my short video on  this article &lt;a mce_href="http://www.artembg.com/video/ASP.NET-MVC-View-Part-I" target="_blank" href="http://www.artembg.com/video/ASP.NET-MVC-View-Part-I"&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;</description><pubDate>Tue, 10 Mar 2009 18:38:29 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/asp.net-mvc-view.more-than-just-a-page-view.-part-i</guid></item><item><title>The laziest property lazy-initialization</title><link>http://www.artembg.com:80/blog/the-laziest-property-lazy-initialization</link><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 "measure" if I'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 "standard" 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;&lt;span style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&lt;span style="color: #fddf39;"&gt;_first&lt;/span&gt; = &lt;span style="color: lime;"&gt;"Initialized"&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;}&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;&lt;span style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;"Initialized"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&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 "??" 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;&lt;span style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;"Initialized"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&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;&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;&lt;span style="color: green;"&gt;// Code size       41 (0x29)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&lt;span style="color: #fddf39;"&gt;maxstack&lt;/span&gt; &lt;span style="color: yellow;"&gt;2&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&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;[&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;&lt;span style="color: #fddf39;"&gt;IL_0000&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0001&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0002&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0007&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldnull&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0008&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ceq&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_000a&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_000b&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ceq&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_000d&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_000e&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_000f&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_001e&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0011&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0012&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0013&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldstr&lt;/span&gt; &lt;span style="color: lime;"&gt;"Initialized"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0018&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;stfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_001d&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_001e&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_001f&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0024&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0025&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_0027&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0027&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0028&lt;/span&gt;:  &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;&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;&lt;span style="color: green;"&gt;// Code size       36 (0x24)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&lt;span style="color: #fddf39;"&gt;maxstack&lt;/span&gt; &lt;span style="color: yellow;"&gt;3&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&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;[&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;&lt;span style="color: #fddf39;"&gt;IL_0000&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0001&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0002&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0007&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_0019&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0009&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_000a&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldstr&lt;/span&gt; &lt;span style="color: lime;"&gt;"Initialized"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_000f&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0010&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0011&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;stfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0016&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0017&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_001f&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0019&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_001a&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_001f&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0020&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_0022&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0022&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0023&lt;/span&gt;:  &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;&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;&lt;span style="color: green;"&gt;// Code size       30 (0x1e)&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&lt;span style="color: #fddf39;"&gt;maxstack&lt;/span&gt; &lt;span style="color: yellow;"&gt;3&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;.&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;[&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;&lt;span style="color: #fddf39;"&gt;IL_0000&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;nop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0001&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0002&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0007&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0008&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;brtrue&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_0019&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_000a&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;pop&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_000b&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_000c&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;ldstr&lt;/span&gt; &lt;span style="color: lime;"&gt;"Initialized"&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0011&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;dup&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_0012&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0013&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;stfld&lt;/span&gt; &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;&lt;span style="color: #fddf39;"&gt;IL_0018&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_0019&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_001a&lt;/span&gt;:  &lt;span style="color: #fddf39;"&gt;br&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;s&lt;/span&gt; &lt;span style="color: #fddf39;"&gt;IL_001c&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: #fddf39;"&gt;IL_001c&lt;/span&gt;:  &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;&lt;span style="color: #fddf39;"&gt;IL_001d&lt;/span&gt;:  &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'm happy now and I'm sure my lazy-initialization pattern has changed for good&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps...&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Fri, 13 Feb 2009 08:37:09 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/the-laziest-property-lazy-initialization</guid></item><item><title>DateTime.ToSiteString() Extension Method</title><link>http://www.artembg.com:80/blog/datetime.tositestring-extension-method</link><description>&lt;p&gt;I'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;&lt;span style="color: #f47a00;"&gt;get&lt;/span&gt; {&lt;/p&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;HasValue&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&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;Value&lt;/span&gt;.&lt;span style="color: #fddf39;"&gt;ToString&lt;/span&gt;(&lt;span style="color: lime;"&gt;"dd MMM yyyy"&lt;/span&gt;) : &lt;span style="color: lime;"&gt;""&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&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;nbsp;&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;/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;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;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt; #region&lt;/span&gt; Static Fields /////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&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; Gets the date format.&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;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;&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;"dd MMM yyyy"&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; #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; #region&lt;/span&gt; Static Methods ////////////////////////////////////////////////////////////////////&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&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; Toes the site string.&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;param name="date"&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;&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;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;&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;}&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&amp;nbsp;&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; Toes the site string.&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;param name="date"&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;&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;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;&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;""&lt;/span&gt;;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&lt;span style="color: blue;"&gt; #endregion&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&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;nbsp;&lt;/p&gt;
&lt;p&gt;Hope this helps anyone ...&lt;/p&gt;
&lt;p&gt;Regards&lt;/p&gt;</description><pubDate>Mon, 12 Jan 2009 12:12:51 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/datetime.tositestring-extension-method</guid></item><item><title>The secret of 'Convert to Web Application'</title><link>http://www.artembg.com:80/blog/the-secret-of-convert-to-web-application</link><description>&lt;p&gt;Probably you, as I did, wondering why 'Convert to Web Application' 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;"This is totally useless" - 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 "top of the pop" 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    49    The name '_txtEmail' does not exist in the current context&lt;/p&gt;
&lt;p&gt;Then I found what'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 'Convert to Web Application' 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'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;nbsp;&lt;/p&gt;
&lt;p&gt;Check out the short sample video &lt;a target="_blank" href="http://www.artembg.com/video/ConvertToWebApplication"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Happy coding ...&lt;/p&gt;</description><pubDate>Fri, 19 Dec 2008 07:47:07 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/the-secret-of-convert-to-web-application</guid></item><item><title>Two simple Extension Methods for Reader</title><link>http://www.artembg.com:80/blog/two-simple-extension-methods-for-reader</link><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;span style="text-decoration: underline;"&gt;&lt;strong&gt;TextReader ForEachLine Extension Method&lt;/strong&gt;&lt;/span&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;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&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;"reader"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&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;"action"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&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;&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;}&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;FileInfo ForEachLine Extension Method&lt;/span&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;nbsp;&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&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;"file"&lt;/span&gt;);&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;&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;&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;}&lt;/p&gt;
&lt;p style="margin: 0px;"&gt;}&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Happy coding ...&lt;/p&gt;</description><pubDate>Fri, 05 Dec 2008 12:55:00 GMT</pubDate><guid isPermaLink="true">http://www.artembg.com:80/blog/two-simple-extension-methods-for-reader</guid></item></channel></rss>