<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alvin Ashcraft&#039;s Morning Dew &#187; resharper</title>
	<atom:link href="http://www.alvinashcraft.com/tag/resharper/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alvinashcraft.com</link>
	<description>Your Source for .NET Development Resources</description>
	<lastBuildDate>Fri, 10 Feb 2012 12:57:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>C# + ReSharper = Awesome: Tip #8 &#8211; Extract Class From Parameters</title>
		<link>http://www.alvinashcraft.com/2012/01/23/c-resharper-awesome-tip-8-extract-class-from-parameters/</link>
		<comments>http://www.alvinashcraft.com/2012/01/23/c-resharper-awesome-tip-8-extract-class-from-parameters/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 01:37:23 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2129</guid>
		<description><![CDATA[This is the eighth in a series of quick how-to articles on ReSharper. Tip #8 – Extract Class From Parameters Use: If you find yourself passing a set of related values to a method, you should probably put all of those items into a single class or struct. From JetBrains: This refactoring creates a new [...]]]></description>
			<content:encoded><![CDATA[<p>This is the eighth in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h3>Tip #8 – Extract Class From Parameters</h3>
<p><strong>Use:</strong> If you find yourself passing a set of related values to a method, you should probably put all of those items into a single class or struct. From <a href="http://www.jetbrains.com/resharper/features/code_refactoring.html#Extract_Class_from_Parameters" target="_blank">JetBrains</a>:</p>
<blockquote><p>This refactoring creates a new class or struct and converts parameters of the selected method into encapsulated fields of the newly created type (with constructor taking parameters, fields to store values and properties to retrieve values). Usages of parameters are converted to usages of properties of created type.</p>
</blockquote>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> EmployeeUtilities</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> ValidateTerminatedEmployeeInfo(<span class="kwrd">int</span> employeeId</pre>
<pre><span class="lnum">   4:  </span>                                                 , <span class="kwrd">string</span> firstName</pre>
<pre><span class="lnum">   5:  </span>                                                 , <span class="kwrd">string</span> lastName</pre>
<pre><span class="lnum">   6:  </span>                                                 , DateTime hireDate</pre>
<pre><span class="lnum">   7:  </span>                                                 , DateTime terminateDate)</pre>
<pre><span class="lnum">   8:  </span>        {</pre>
<pre><span class="lnum">   9:  </span>            <span class="kwrd">if</span> (employeeId &gt; -1 &amp;&amp; </pre>
<pre><span class="lnum">  10:  </span>                !String.IsNullOrWhiteSpace(firstName) &amp;&amp; </pre>
<pre><span class="lnum">  11:  </span>                !String.IsNullOrWhiteSpace(lastName) &amp;&amp;</pre>
<pre><span class="lnum">  12:  </span>                hireDate &lt; DateTime.Now &amp;&amp; </pre>
<pre><span class="lnum">  13:  </span>                terminateDate &gt; hireDate)</pre>
<pre><span class="lnum">  14:  </span>            {</pre>
<pre><span class="lnum">  15:  </span>                <span class="rem">// do awesome stuff</span></pre>
<pre><span class="lnum">  16:  </span>                <span class="kwrd">return</span> <span class="kwrd">true</span>;</pre>
<pre><span class="lnum">  17:  </span>            }</pre>
<pre><span class="lnum">  18:  </span>&#160;</pre>
<pre><span class="lnum">  19:  </span>            <span class="kwrd">return</span> <span class="kwrd">false</span>;</pre>
<pre><span class="lnum">  20:  </span>        }</pre>
<pre><span class="lnum">  21:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Right-click the method</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image18.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb7.png" width="644" height="153" /></a></p>
<h5>Extract Class From Parameters</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML10f0d4a5.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML10f0d4a5" border="0" alt="SNAGHTML10f0d4a5" src="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML10f0d4a5_thumb.png" width="545" height="484" /></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> EmployeeInfo</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">private</span> <span class="kwrd">int</span> _employeeId;</pre>
<pre><span class="lnum">   4:  </span>        <span class="kwrd">private</span> <span class="kwrd">string</span> _firstName;</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">private</span> <span class="kwrd">string</span> _lastName;</pre>
<pre><span class="lnum">   6:  </span>        <span class="kwrd">private</span> DateTime _hireDate;</pre>
<pre><span class="lnum">   7:  </span>        <span class="kwrd">private</span> DateTime _terminateDate;</pre>
<pre><span class="lnum">   8:  </span>&#160;</pre>
<pre><span class="lnum">   9:  </span>        <span class="kwrd">public</span> EmployeeInfo(<span class="kwrd">int</span> employeeId, <span class="kwrd">string</span> firstName, <span class="kwrd">string</span> lastName, DateTime hireDate, DateTime terminateDate)</pre>
<pre><span class="lnum">  10:  </span>        {</pre>
<pre><span class="lnum">  11:  </span>            _employeeId = employeeId;</pre>
<pre><span class="lnum">  12:  </span>            _firstName = firstName;</pre>
<pre><span class="lnum">  13:  </span>            _lastName = lastName;</pre>
<pre><span class="lnum">  14:  </span>            _hireDate = hireDate;</pre>
<pre><span class="lnum">  15:  </span>            _terminateDate = terminateDate;</pre>
<pre><span class="lnum">  16:  </span>        }</pre>
<pre><span class="lnum">  17:  </span>&#160;</pre>
<pre><span class="lnum">  18:  </span>        <span class="kwrd">public</span> <span class="kwrd">int</span> EmployeeId</pre>
<pre><span class="lnum">  19:  </span>        {</pre>
<pre><span class="lnum">  20:  </span>            get { <span class="kwrd">return</span> _employeeId; }</pre>
<pre><span class="lnum">  21:  </span>        }</pre>
<pre><span class="lnum">  22:  </span>&#160;</pre>
<pre><span class="lnum">  23:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> FirstName</pre>
<pre><span class="lnum">  24:  </span>        {</pre>
<pre><span class="lnum">  25:  </span>            get { <span class="kwrd">return</span> _firstName; }</pre>
<pre><span class="lnum">  26:  </span>        }</pre>
<pre><span class="lnum">  27:  </span>&#160;</pre>
<pre><span class="lnum">  28:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> LastName</pre>
<pre><span class="lnum">  29:  </span>        {</pre>
<pre><span class="lnum">  30:  </span>            get { <span class="kwrd">return</span> _lastName; }</pre>
<pre><span class="lnum">  31:  </span>        }</pre>
<pre><span class="lnum">  32:  </span>&#160;</pre>
<pre><span class="lnum">  33:  </span>        <span class="kwrd">public</span> DateTime HireDate</pre>
<pre><span class="lnum">  34:  </span>        {</pre>
<pre><span class="lnum">  35:  </span>            get { <span class="kwrd">return</span> _hireDate; }</pre>
<pre><span class="lnum">  36:  </span>        }</pre>
<pre><span class="lnum">  37:  </span>&#160;</pre>
<pre><span class="lnum">  38:  </span>        <span class="kwrd">public</span> DateTime TerminateDate</pre>
<pre><span class="lnum">  39:  </span>        {</pre>
<pre><span class="lnum">  40:  </span>            get { <span class="kwrd">return</span> _terminateDate; }</pre>
<pre><span class="lnum">  41:  </span>        }</pre>
<pre><span class="lnum">  42:  </span>    }</pre>
<pre><span class="lnum">  43:  </span>&#160;</pre>
<pre><span class="lnum">  44:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> EmployeeUtilities</pre>
<pre><span class="lnum">  45:  </span>    {</pre>
<pre><span class="lnum">  46:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> ValidateTerminatedEmployeeInfo(EmployeeInfo employeeInfo)</pre>
<pre><span class="lnum">  47:  </span>        {</pre>
<pre><span class="lnum">  48:  </span>            <span class="kwrd">if</span> (employeeInfo.EmployeeId &gt; -1 &amp;&amp; </pre>
<pre><span class="lnum">  49:  </span>                !String.IsNullOrWhiteSpace(employeeInfo.FirstName) &amp;&amp; </pre>
<pre><span class="lnum">  50:  </span>                !String.IsNullOrWhiteSpace(employeeInfo.LastName) &amp;&amp;</pre>
<pre><span class="lnum">  51:  </span>                employeeInfo.HireDate &lt; DateTime.Now &amp;&amp; </pre>
<pre><span class="lnum">  52:  </span>                employeeInfo.TerminateDate &gt; employeeInfo.HireDate)</pre>
<pre><span class="lnum">  53:  </span>            {</pre>
<pre><span class="lnum">  54:  </span>                <span class="rem">// do awesome stuff</span></pre>
<pre><span class="lnum">  55:  </span>                <span class="kwrd">return</span> <span class="kwrd">true</span>;</pre>
<pre><span class="lnum">  56:  </span>            }</pre>
<pre><span class="lnum">  57:  </span>&#160;</pre>
<pre><span class="lnum">  58:  </span>            <span class="kwrd">return</span> <span class="kwrd">false</span>;</pre>
<pre><span class="lnum">  59:  </span>        }</pre>
<pre><span class="lnum">  60:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5e099003-602b-436f-af23-5c4dda0a44f1" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2012/01/23/c-resharper-awesome-tip-8-extract-class-from-parameters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #7&#8211;Move String to Resource</title>
		<link>http://www.alvinashcraft.com/2012/01/20/c-resharper-awesome-tip-7move-string-to-resource/</link>
		<comments>http://www.alvinashcraft.com/2012/01/20/c-resharper-awesome-tip-7move-string-to-resource/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 20:41:57 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2121</guid>
		<description><![CDATA[This is the seventh in a series of quick how-to articles on ReSharper. Tip #7 – Move String to Resource Use: Moves a string into a resource file to enable localization. Tip: Ensure your project contains at least one Resource (resx) file or the operation will fail. Before 1: public string YouRock() 2: { 3: [...]]]></description>
			<content:encoded><![CDATA[<p>This is the seventh in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h3>Tip #7 – Move String to Resource</h3>
<p><strong>Use:</strong> Moves a string into a resource file to enable localization.</p>
<p><strong>Tip:</strong> Ensure your project contains at least one Resource (resx) file or the operation will fail.</p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>     <span class="kwrd">public</span> <span class="kwrd">string</span> YouRock()</pre>
<pre><span class="lnum">   2:  </span>     {</pre>
<pre><span class="lnum">   3:  </span>         <span class="kwrd">return</span> <span class="str">&quot;No, YOU rock Mr. Method-Caller!&quot;</span>;</pre>
<pre><span class="lnum">   4:  </span>     }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Right-click the string –&gt; Refactor –&gt; Refactor This…</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image17.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb6.png" width="364" height="168" /></a></p>
<h5>Move to Resource</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML6f7080.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML6f7080" border="0" alt="SNAGHTML6f7080" src="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML6f7080_thumb.png" width="424" height="307" /></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>     <span class="kwrd">public</span> <span class="kwrd">string</span> YouRock()</pre>
<pre><span class="lnum">   2:  </span>     {</pre>
<pre><span class="lnum">   3:  </span>         <span class="kwrd">return</span> StringResources.No_YOU_rock_Mr_Method_Caller;</pre>
<pre><span class="lnum">   4:  </span>     }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4c526044-a7ee-44e7-8132-b613a76d2b95" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2012/01/20/c-resharper-awesome-tip-7move-string-to-resource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dew Drop &#8211; January 19, 2012 (#1,246)</title>
		<link>http://www.alvinashcraft.com/2012/01/19/dew-drop-january-19-2012-1246/</link>
		<comments>http://www.alvinashcraft.com/2012/01/19/dew-drop-january-19-2012-1246/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 12:45:16 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Daily Links]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design patterns]]></category>
		<category><![CDATA[kinect]]></category>
		<category><![CDATA[MEF]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[visual studio achievements]]></category>
		<category><![CDATA[vs2010]]></category>
		<category><![CDATA[wcf]]></category>
		<category><![CDATA[windows azure]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[wpf]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2113</guid>
		<description><![CDATA[Top Links Visual Studio Achievements &#8211; Remember Kids They&#8217;re Just For Fun (Bil Simser) Announcing Visual Studio Achievements Beta (Karsten Januszewski) Learning leadership from Congress (Seth Godin) Introducing ReSharper 6.1 SDK (Dmitri Nesteruk) &#160; .NET / Visual Studio Don’t brag about your Visual Studio achievements! (yet?) (Maarten Balliauw) Ask Ayende: Life without repositories, are they [...]]]></description>
			<content:encoded><![CDATA[<h3><a name="top"></a>Top Links</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/bsimser/~3/9U9csuOBZlY/visual-studio-achievements-they-re-just-for-fun.aspx">Visual Studio Achievements &#8211; Remember Kids They&#8217;re Just For Fun</a> (Bil Simser)</li>
<li><a href="http://channel9.msdn.com/Blogs/C9Team/Announcing-Visual-Studio-Achievements">Announcing Visual Studio Achievements Beta</a> (Karsten Januszewski)</li>
<li><a href="http://feedproxy.google.com/~r/typepad/sethsmainblog/~3/uEXyd0auoKk/learningleadership.html">Learning leadership from Congress</a> (Seth Godin)</li>
<li><a href="http://blogs.jetbrains.com/dotnet/2012/01/introducing-resharper-61-sdk/">Introducing ReSharper 6.1 SDK</a> (Dmitri Nesteruk)</li>
</ul>
<p>&#160;</p>
<h3><a name="dotnet"></a>.NET / Visual Studio</h3>
<ul>
<li><a href="http://blog.maartenballiauw.be/post.aspx?id=6b80873b-86d0-47ab-b2c0-603d620fdca2">Don’t brag about your Visual Studio achievements! (yet?)</a> (Maarten Balliauw)</li>
<li><a href="http://feedproxy.google.com/~r/AyendeRahien/~3/7zxp_001Ntk/ask-ayende-life-without-repositories-are-they-worth-living">Ask Ayende: Life without repositories, are they worth living?</a> (Oren Eini)</li>
<li><a href="http://channel9.msdn.com/coding4fun/blog/Special-Edition-Achievement-Unlocked-Visual-Studio-Achievement-Beta-Released">[Special Edition] Achievement Unlocked! &#8211; Visual Studio Achievement Beta Released</a> (Dan Fernandez &amp; Greg Duncan)</li>
<li><a href="http://channel9.msdn.com/Blogs/C9Team/Visual-Studio-Achievements-Widget">Visual Studio Achievements Widget</a> (Geoffrey K.)</li>
<li><a href="http://feedproxy.google.com/~r/clemensreijnen/qzrF/~3/kX1OVWwOdFc/post.aspx">TFS11 Scrum board update remaining work without opening the work item…</a> (Clemens Reijnen)</li>
<li><a href="http://blogs.technet.com/b/microsoft_blog/archive/2012/01/18/visual-studio-achievements-program-brings-gamification-to-development.aspx">Visual Studio Achievements Program Brings Gamification to Development</a> (Jeffrey Meisner)</li>
<li><a href="http://channel9.msdn.com/Blogs/C9Team/Visual-Studio-Achievements-FAQ">Visual Studio Achievements FAQ</a> (Karsten Januszewski)</li>
<li><a href="http://www.codeproject.com/Articles/316327/An-introduction-to-NDepend">An introduction to NDepend</a> (Nathan Gloyn)</li>
<li><a href="http://blogs.msdn.com/b/oldnewthing/archive/2012/01/18/10257834.aspx">Don&#8217;t try to allocate memory until there is only x% free</a> (Raymond Chen)</li>
<li><a href="http://weblogs.asp.net/ricardoperes/archive/2012/01/18/querying-an-uninitialized-collection-with-nhibernate.aspx">Querying an Uninitialized Collection with NHibernate</a> (Ricardo Peres)</li>
<li><a href="http://blogs.microsoft.co.il/blogs/sasha/archive/2012/01/18/p-invoke-stack-imbalance-mda.aspx">P/Invoke Stack Imbalance MDA</a> (Sasha Goldshtein)</li>
<li><a href="http://blogs.microsoft.co.il/blogs/bnaya/archive/2012/01/19/async-await-some-reasoning.aspx">async / await, some reasoning</a> (Bnaya Eshet)</li>
<li><a href="http://channel9.msdn.com/coding4fun/kinect/Beginners-Guide-to-Kinect-Programming-from-download-to-demo">&quot;Beginner’s Guide to Kinect Programming,&quot; from download to demo</a> (Greg Duncan)</li>
<li><a href="http://blogs.jetbrains.com/dotnet/2012/01/per-project-settings-or-how-to-have-different-naming-styles-for-my-test-project/">Per Project Settings or How to have different naming styles for my test project</a> (Hadi Hariri)</li>
<li><a href="http://sachabarber.net/?p=1039">Restful WCF / EF POCO / UnitOfWork / Repository / MEF article</a> (Sacha Barber)</li>
</ul>
<p>&#160;</p>
<h3><a name="web"></a>Web Development</h3>
<ul>
<li><a href="http://feeds.dzone.com/~r/zones/css/~3/Z4rEbKFljKI/jquery-bootstrap-02-brings">jQuery Bootstrap 0.2 Brings &#8216;Beauty&#8217; to Widgets</a> (Christopher Smith)</li>
<li><a href="http://feedproxy.google.com/~r/ScottHanselman/~3/W2IQwcnOiiM/AnAnalysisOfSOPAAndPIPAProtestBlackoutHTMLAndCSSTechniques.aspx">An analysis of SOPA and PIPA Protest &quot;Blackout&quot; HTML and CSS techniques</a> (Scott Hanselman)</li>
<li><a href="http://feedproxy.google.com/~r/ProgrammableWeb/~3/tmG4Pef8VLQ/">160 Music APIs</a> (Wendell Santos)</li>
<li><a href="http://feeds.devhammer.net/~r/devhammer/~3/KPSVkex2e7A/exploring-html5-canvas-part-3---paths-and-text">Exploring HTML5 Canvas: Part 3 &#8211; Paths and Text</a> (G. Andrew Duthie)</li>
<li><a href="http://www.josephguadagno.net/post.aspx?id=bb57812a-9788-488b-a86a-e74b06feb9f8">Add Google Plus One Extension to BlogEngine.NET</a> (Joseph Guadagno)</li>
<li><a href="http://blogs.msdn.com/b/ie/archive/2012/01/18/under-the-covers-let-it-snow.aspx">Under the Covers: Let It Snow…</a> (Bogdan Brinza)</li>
<li><a href="http://feedproxy.google.com/~r/CodeBetter/~3/aw_zltJY6oQ/">HTTP is not a transport protocol, HTTP is not RPC</a> (Glenn Block)</li>
<li><a href="http://www.odata.org/blog/2012/1/19/format-efficiency-take-2-really-clean-json">Format efficiency take 2: really clean JSON</a> (Pablo Castro)</li>
<li><a href="http://feedproxy.google.com/~r/AvkashChauhansBlog/~3/v35zkc0E19Y/windows-azure-application-vm-and-virtual-ip-address.aspx">Windows Azure application VM and (virtual) IP Address</a> (Avkash Chauhan)</li>
<li><a href="http://www.infoq.com/news/2012/01/http-api-evolvability">Best Practices For HTTP API Evolvability</a> (Dilip Krishnan)</li>
<li><a href="http://www.kirupa.com/html5/easing_functions_css3.htm">Easing Functions in CSS3</a> (Kirupa Chinnathambi)</li>
</ul>
<p>&#160;</p>
<h3><a name="design"></a>Design / Methodology / Testing</h3>
<ul>
<li><a href="http://stevesmithblog.com/blog/unit-test-or-integration-test-and-why-you-should-care/">Unit Test or Integration Test and Why You Should Care</a> (Steve Smith)</li>
<li><a href="http://jimmynilsson.com/blog/posts/Chronicle3.htm">The next big thing is extremely small</a> (Jimmy Nilsson)</li>
</ul>
<p>&#160;</p>
<h3><a name="silverlight"></a>Silverlight / WPF / Windows Phone</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/Windowsphonegeek/~3/5Dk-73fSQ7s/How-to-get-the-Tapped-Item-in-a-MultiselectList-control">How to get the Tapped Item in a MultiselectList control</a> (Windows Phone Geek)</li>
<li><a href="http://mobileworld.appamundi.com/blogs/andywigley/archive/2012/01/18/silverlight-toolkit-toggleswitch-databinding-bug.aspx">Silverlight Toolkit ToggleSwitch Databinding Bug</a> (Andy Wigley)</li>
<li><a href="http://babaandthepigman.wordpress.com/2012/01/18/wp7-skydrive-upload">wp7 skydrive upload</a> (babaandthepigman)</li>
<li><a href="http://www.scottlogic.co.uk/blog/colin/2012/01/wp7-phonegap-backbutton-support-re-visited/">WP7 PhoneGap Backbutton Support Re-visited</a> (Colin Eberhardt)</li>
<li><a href="http://www.codeproject.com/Tips/316371/How-to-simplify-coding-DependencyProperty-in-WPF-a">How to simplify coding DependencyProperty in WPF and Silverlight</a> (DawningTiger)</li>
<li><a href="http://debugmode.net/2012/01/18/how-to-use-the-connectionsettings-task-for-windows-phone/">How to Use the ConnectionSettings Task for Windows Phone</a> <em>and</em> <a href="http://debugmode.net/2012/01/19/code-to-share-status-or-links-on-social-media-sites-in-windows-phone/">Code to Share Status or Links on Social Media sites in Windows Phone</a> (Dhananjay Kumar)</li>
<li><a href="http://coolthingoftheday.blogspot.com/2012/01/comfortably-numb-mvvm-enums-in-combobox.html">Comfortably numb&#8230; MVVM&#8217;ing Enums in ComboBox</a> (Greg Duncan)</li>
<li><a href="http://wpf.2000things.com/2012/01/19/476-set-zindex-values-for-child-elements-of-canvas/" target="_blank">2000 WPF Things #476 – Set ZIndex Values for Child Elements of Canvas</a> (Sean Sexton)</li>
<li><a href="http://feedproxy.google.com/~r/silverlightshow/~3/EN96a717tRE/New-Ebook-by-SilverlightShow-and-Andrea-Boschin-Windows-Phone-7.5-Fundamentals.aspx" target="_blank">New Ebook by SilverlightShow and Andrea Boschin: Windows Phone 7.5 Fundamentals</a> (SilverlightShow)</li>
</ul>
<p>&#160;</p>
<h3><a name="podcasts"></a>Podcasts / Screencasts / Videos</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/WebdevradioPodcastHome/~3/ykDRjA6slF4/index.php" target="_blank">Web Dev Radio Episode 95: Jeff Carouth at ZendCon 2011</a> (Michael Kimsal)</li>
<li><a href="http://feeds.wired.com/~r/wiredgeekdad/~3/HxpOxzB1ZuY/">The GeekDads Episode #107: And Anyone Who Says Otherwise Is Evil and Bad and Wrong</a> (Ken Denmead)</li>
<li><a href="http://channel9.msdn.com/Shows/The-Defrag-Show/Defrag-Govs-Nest-Bitlocker-Qs-Win7-Defrag">Defrag: Gov&#8217;s Nest, Bitlocker Q&#8217;s, Win7 Defrag,</a> (Larry Larsen)</li>
<li><a href="http://channel9.msdn.com/Shows/Hot-Apps/Hot-Apps-Bug-Village-Hasta-La-Muerte-PixelTV-Make-Way-WeatherDuck">Hot Apps: Bug Village, Hasta La Muerte, PixelTV, Make Way, WeatherDuck</a> (Laura Foy)</li>
<li><a href="http://www.theverge.com/mobile/2012/1/18/2715551/the-verge-mobile-podcast-010-01-18-2011">The Verge Mobile Podcast 010 &#8211; 01.18.2011</a> (Trent Wolbe)</li>
<li><a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-Achievements">Visual Studio Toolbox: Visual Studio Achievements</a> (Robert Green)</li>
<li><a href="http://feedproxy.google.com/~r/JesseLiberty-SilverlightGeek/~3/Sm2SJooUVFw/">New Videos Uploaded</a> (Jesse Liberty)</li>
<li><a href="http://feedproxy.google.com/~r/OtnArch2Arch/~3/vkH3Q0JkNok/11403391_phoenix_part3_011812.mp3">Phoenix Architect Day Panel Discussion &#8211; Part 3</a> (Bob Rhubart)</li>
<li><a href="http://www.dotnetrocks.com/default.aspx?ShowNum=734" target="_blank">.NET Rocks! &#8211; Chris Sells Unplugged!</a> (Carl Franklin &amp; Richard Campbell)</li>
</ul>
<p>&#160;</p>
<h3><a name="events"></a>Community / Events</h3>
<ul>
<li><a href="http://blogs.msdn.com/b/publicsector/archive/2012/01/18/microsoft-componentone-hands-on-workshops-for-windows-phone-series-january-24th-and-26th-2012.aspx">Microsoft-ComponentOne Hands-On-Workshops for Windows Phone Series – January 24th and 26th 2012</a> (MS Public Sector Team)</li>
<li><a href="http://geekswithblogs.net/lorilalonde/archive/2012/01/18/top-10-reasons-why-i-like-dating-a-programmer.aspx">Top 10 Reasons Why I Like Dating A Programmer</a> (Lori Lalonde)</li>
<li><a href="http://debugmode.net/2012/01/19/i-have-been-awarded-as-telerik-mvp/">I have been awarded as Telerik MVP</a> (Dhananjay Kumar)</li>
</ul>
<p>&#160;</p>
<h3><a name="sql"></a>Database</h3>
<ul>
<li><a href="http://www.microsoft.com/download/en/details.aspx?id=17876&amp;WT.mc_id=rss_alldownloads_all">Microsoft SQL Server Compact 4.0</a> (MS Downloads)</li>
<li><a href="http://blog.sqlauthority.com/2012/01/19/sql-server-importance-of-resource-database-quiz-puzzle-18-of-31/">SQL SERVER – Importance of Resource Database – Quiz – Puzzle – 18 of 31</a> (Pinal Dave)</li>
<li><a href="http://feedproxy.google.com/~r/sqlserverpedia/~3/OY86DUUfByA/">SQL Performance Tuning – optimizing for response time</a> (Jack Vamvas)</li>
</ul>
<p>&#160;</p>
<h3><a name="misc"></a>Miscellaneous</h3>
<ul>
<li><a href="http://feeds.microsoftjobsblog.com/~r/MicrosoftJobsBlog/~3/bZ15JMHpXqU/translating-military-experience-to-real-world-jobs">Translating Military Experience to Real World Jobs</a> (Joe Wallis)</li>
<li><a href="http://www.codinghorror.com/blog/2012/01/defeating-sopa-and-pipa-isnt-enough.html">Defeating SOPA and PIPA Isn&#8217;t Enough</a> (Jeff Atwood)</li>
<li><a href="http://feedproxy.google.com/~r/PresentationZen/~3/w5ITZNas0RM/new-for-2012-presentation-zen-2nd-edition.html">New: Presentation Zen (2nd Edition)</a> (Garr Reynolds)</li>
<li><a href="http://coolthingoftheday.blogspot.com/2012/01/learning-regex-grouping-and-backlinks.html">Learning RegEx &#8211; Grouping and Backlinks</a> <em>and</em> <a href="http://coolthingoftheday.blogspot.com/2012/01/lots-o-emote-in-wpcentral-complete-wp7.html">Lots-O-emote&#8217;s in WPCentral&#8217;s complete WP7 emoticons list</a> (Greg Duncan)</li>
<li><a href="http://feedproxy.google.com/~r/liveside/~3/H8raCfTud_4/">Whoa, that’s a superstar team at IEB (Xbox), what the heck are they building?</a> (Kip Kniskern)</li>
<li><a href="http://www.zdnet.com/blog/microsoft/microsoft-confirms-dave-cutler-father-of-windows-nt-now-working-on-xbox/11684">Microsoft confirms Dave Cutler, father of Windows NT, now working on Xbox</a> (Mary Jo Foley)</li>
<li><a href="http://feedproxy.google.com/~r/Mashable/~3/ZGpvDKCWglY/">Google Thinks OPEN Is a Rational Alternative to SOPA</a> (Todd Wasserman)</li>
</ul>
<p>&#160;</p>
<h3><a name="links"></a>More Link Collections</h3>
<ul>
<li><a href="http://weblogs.asp.net/yuanjian/archive/2012/01/19/cheatsheet-2012-01-10-01-19.aspx">Cheatsheet: 2012 01.10 ~ 01.19</a> (yuanjian)</li>
<li><a href="http://feedproxy.google.com/~r/silverlightshow/~3/A8utaH8p6bk/Daily-News-Digest-1-18-2012.aspx">Daily News Digest 1/18/2012</a> <em>and</em>&#160;<a href="http://feedproxy.google.com/~r/silverlightshow/~3/MNN6__4Z8nc/Daily-News-Digest-1-19-2012.aspx" target="_blank">Daily News Digest 1/19/2012</a> (Silverlight Show)</li>
<li><a href="http://feedproxy.google.com/~r/ReflectivePerspective/~3/BinNyKc0b_I/">The Morning Brew #1025</a> (Chris Alcock)</li>
<li><a href="http://feedproxy.google.com/~r/brhubartOTN/~3/dLSyqjO1srY/archbeat_link_o_rama_for61">ArchBeat Link-o-Rama for 2012-01-18</a> (Bob Rhubart)</li>
<li><a href="http://www.windowsdevnews.com/Blogs.aspx?ID=48">Windows Dev News for January 18, 2012 &#8211; #00029</a> (Dave Campbell)</li>
<li><a href="http://feedproxy.google.com/~r/Windowsphonegeek/~3/Hmddl44oC-U/daily-wp7-development-news-18-jan-2012">Daily WP7 Development News 18 Jan 2012</a> (Windows Phone Geek)</li>
</ul>
<p>&#160;</p>
<h3><a name="shelf"></a>The Geek Shelf</h3>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img src="http://ecx.images-amazon.com/images/I/519JpBzKKgL._SL160_.jpg" /> </td>
<td valign="top"><a href="http://www.amazon.com/Programming-Entity-Framework-First-ebook/dp/B006C3CXTA?SubscriptionId=0JTCV5ZMHMF7ZYTXGFR2&amp;tag=brdicr-20&amp;linkCode=xm2&amp;camp=2025&amp;creative=165953&amp;creativeASIN=B006C3CXTA">Programming Entity Framework: Code First: Code First</a> by Julia Lerman </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:75001541-e306-451c-b388-8fe2bc00a7c8" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/vs2010" rel="tag">vs2010</a>,<a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/visual+studio+achievements" rel="tag">visual studio achievements</a>,<a href="http://del.icio.us/popular/windows+phone" rel="tag">windows phone</a>,<a href="http://del.icio.us/popular/xbox" rel="tag">xbox</a>,<a href="http://del.icio.us/popular/kinect" rel="tag">kinect</a>,<a href="http://del.icio.us/popular/windows+azure" rel="tag">windows azure</a>,<a href="http://del.icio.us/popular/css" rel="tag">css</a>,<a href="http://del.icio.us/popular/unit+testing" rel="tag">unit testing</a>,<a href="http://del.icio.us/popular/wcf" rel="tag">wcf</a>,<a href="http://del.icio.us/popular/MEF" rel="tag">MEF</a>,<a href="http://del.icio.us/popular/design+patterns" rel="tag">design patterns</a>,<a href="http://del.icio.us/popular/sql+server" rel="tag">sql server</a>,<a href="http://del.icio.us/popular/wpf" rel="tag">wpf</a>,<a href="http://del.icio.us/popular/silverlight" rel="tag">silverlight</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2012/01/19/dew-drop-january-19-2012-1246/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://feedproxy.google.com/~r/OtnArch2Arch/~3/vkH3Q0JkNok/11403391_phoenix_part3_011812.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>Dew Drop &#8211; January 13, 2012 (#1,241)</title>
		<link>http://www.alvinashcraft.com/2012/01/13/dew-drop-january-13-2012-1241/</link>
		<comments>http://www.alvinashcraft.com/2012/01/13/dew-drop-january-13-2012-1241/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 14:01:14 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Daily Links]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[data explorer]]></category>
		<category><![CDATA[entity framework]]></category>
		<category><![CDATA[lightswitch]]></category>
		<category><![CDATA[monotouch]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[vs2010]]></category>
		<category><![CDATA[wcf]]></category>
		<category><![CDATA[windows 8]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[winrt]]></category>
		<category><![CDATA[wpf]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2097</guid>
		<description><![CDATA[Top Links Caliburn Micro Part 1: Getting Started (Jason Fauchelle) EF 4.3 Beta 1 Released (EF Team) Scoping CQRS/ES Guidance Project (Grigori Melnik) JavaScript Pattern Collection (Shi Chuan) 101 Async Samples (Joe Mayo) &#160; .NET / Visual Studio Northwind Starter Kit Review: Data Access review thoughts (Oren Eini) SSDT CTP4 and Visual Studio 11 Developer [...]]]></description>
			<content:encoded><![CDATA[<h3><a name="top"></a>Top Links</h3>
<ul>
<li><a href="http://www.mindscapehq.com/blog/index.php/2012/01/12/caliburn-micro-part-1-getting-started/">Caliburn Micro Part 1: Getting Started</a> (Jason Fauchelle)</li>
<li><a href="http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-released.aspx">EF 4.3 Beta 1 Released</a> (EF Team)</li>
<li><a href="http://blogs.msdn.com/b/agile/archive/2012/01/12/scoping-cqrs-es-guidance-project.aspx">Scoping CQRS/ES Guidance Project</a> (Grigori Melnik)</li>
<li><a href="http://feedproxy.google.com/~r/highub-blog/~3/tIMn-3Ly8VY/">JavaScript Pattern Collection</a> (Shi Chuan)</li>
<li><a href="http://geekswithblogs.net/WinAZ/archive/2012/01/12/101-async-samples.aspx">101 Async Samples</a> (Joe Mayo)</li>
</ul>
<p>&#160;</p>
<h3><a name="dotnet"></a>.NET / Visual Studio</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/AyendeRahien/~3/nmaGayAG1Hg/northwind-starter-kit-review-data-access-review-thoughts">Northwind Starter Kit Review: Data Access review thoughts</a> (Oren Eini)</li>
<li><a href="http://feedproxy.google.com/~r/ssdtblog/~3/MAUlt7EpAY8/ssdt-ctp4-and-visual-studio-11-developer-preview.aspx">SSDT CTP4 and Visual Studio 11 Developer Preview</a> (Adam Mahood)</li>
<li><a href="http://debugmode.net/2012/01/13/how-to-work-with-custom-method-in-wcf-data-service/">How to work with Custom Method in WCF Data Service?</a> <em>and</em> <a href="http://debugmode.net/2012/01/12/flyout-control-in-windows-8-html-javascript-metro-application/">Flyout control in Windows 8 HTML JavaScript Metro Application</a> <em>and</em> <a href="http://debugmode.net/2012/01/13/code-analysis-using-telerik-justcode/">Code analysis using Telerik JustCode</a> (Dhananjay Kumar)</li>
<li><a href="http://feedproxy.google.com/~r/BlackRabbitCoder/~3/PGzsdYj9_tI/c.net-little-pitfalls-stopwatch-ticks-are-not-timespan-ticks.aspx">C#/.NET Little Pitfalls: Stopwatch Ticks are not TimeSpan Ticks</a> (James Michael Hare)</li>
<li><a href="http://morewally.com/cs/blogs/wallym/archive/2012/01/12/my-artilcle-on-the-uitableview-with-monotouch-and-the-iphone-ios-is-now-online.aspx">My Artilcle on the UITableView with MonoTouch and the iPhone/iOS is now online</a> (Wally McClure)</li>
<li><a href="http://blogs.microsoft.co.il/blogs/sasha/archive/2012/01/12/garbage-collection-in-the-age-of-smart-pointers.aspx">Garbage Collection in The Age of Smart Pointers</a> (Sasha Goldshtein)</li>
<li><a href="http://geekswithblogs.net/simonc/archive/2012/01/12/inside-the-concurrent-collections-concurrentstack.aspx">Inside the Concurrent Collections: ConcurrentStack</a> (Simon Cooper)</li>
<li><a href="http://feedproxy.google.com/~r/TeamPulse/~3/zxMtoE4Ll6c/2012-roadmap-revealed-6-major-releases.aspx">2012 Roadmap Revealed: 6 Major Releases</a> (TeamPulse Team)</li>
<li><a href="http://blogs.msdn.com/b/oldnewthing/archive/2012/01/12/10255744.aspx">Why does CreateEvent fail with ERROR_PATH_NOT_FOUND if I give it a name with a backslash?</a> (Raymond Chen)</li>
<li><a href="http://www.josephguadagno.net/post.aspx?id=a420932e-458e-4ad1-be7f-5a1eddc75c53">DebuggerDisplay Attribute</a> (Joseph Guadagno)</li>
<li><a href="http://feedproxy.google.com/~r/Telerik/~3/lL7A9WEhD6c/search-in-justdecompile.aspx">Search in JustDecompile</a> (JustDecompile Team)</li>
<li><a href="http://www.sharpgis.net/post.aspx?id=40695696-3683-4fe6-a09e-3c75ba454d6c">Reading and Writing text files in Windows 8 Metro</a> (Morten Nielsen)</li>
<li><a href="http://coolthingoftheday.blogspot.com/2012/01/speaking-of-speech-recognition-check.html">Speaking of Speech Recognition&#8230; Check out Julius, the OSS high-performance, two-pass large vocabulary continuous speech recognition (LVCSR) decoder</a> (Greg Duncan)</li>
<li><a href="http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-configuration-file-settings.aspx">EF 4.3 Configuration File Settings</a> <em>and</em> <a href="http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-automatic-migrations-walkthrough.aspx">EF 4.3 Beta 1: Automatic Migrations Walkthrough</a> <em>and</em> <a href="http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-beta-1-code-based-migrations-walkthrough.aspx">EF 4.3 Beta 1: Code-Based Migrations Walkthrough</a> (Rowan Miller)</li>
<li><a href="http://feeds.dzone.com/~r/zones/dotnet/~3/r4UJVNh5aoQ/developing-apps-windows-8">Developing Apps for Windows 8</a> (Christopher Smith)</li>
<li><a href="http://www.japf.fr/2012/01/resharper-and-code-generation/">ReSharper and code generation</a> (Jeremy Alles)</li>
<li><a href="http://feedproxy.google.com/~r/RickStrahl/~3/skG-VegNXKM/Unable-to-cast-transparent-proxy-to-type-type" target="_blank">Unable to cast transparent proxy to type &lt;type&gt;</a> (Rick Strahl)</li>
</ul>
<p>&#160;</p>
<h3><a name="web"></a>Web Development</h3>
<ul>
<li><a href="http://coolthingoftheday.blogspot.com/2012/01/html5-reference-poster.html">HTML5 Reference Poster</a> <em>and</em> <a href="http://coolthingoftheday.blogspot.com/2012/01/bipin-shows-us-that-creating-tag-cloud.html">Bipin shows us that creating a tag cloud doesn&#8217;t have to be hard to do (in ASP.Net)</a> (Greg Duncan)</li>
<li><a href="http://feedproxy.google.com/~r/DiaryOfAnetDeveloperByJefClaes/~3/Mu8cMaueYXA/approach-to-mobile-support-in-aspnet.html">An approach to mobile support in ASP.NET MVC</a> (Jef Claes)</li>
<li><a href="http://feeds.dzone.com/~r/zones/css/~3/e7snun9qhvw/automatically-numbering">Automatically numbering headings via CSS</a> (Axel Rauschmayer)</li>
<li><a href="http://feedproxy.google.com/~r/wekeroad/EeKc/~3/0iUe-v11f44/">Understanding the Rails Asset Pipeline</a> (Rob Conery)</li>
<li><a href="http://feedproxy.google.com/~r/IUpdateable/~3/LCHannx3Gcg/">My top 3 improvements in Windows Azure from the December update</a> (Eric Nelson)</li>
<li><a href="http://blogs.msdn.com/b/usisvde/archive/2012/01/12/new-api-lets-you-show-three-alternative-routes-on-bing-maps.aspx">New API Lets You Show Three Alternative Routes on Bing Maps</a> (Bruce Kyle)</li>
<li><a href="http://feedproxy.google.com/~r/AjaxBestiary/~3/FRnJwNlAzPQ/">Access Amazon’s EC2 (and more) from within NodeJS</a> (Dave Mahon)</li>
</ul>
<p>&#160;</p>
<h3><a name="design"></a>Design / Methodology / Testing</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/blogspot/hsDu/~3/iHQNI_dgb2w/introducing-android-design-site.html">Introducing the Android Design site</a> (Tim Bray)</li>
<li><a href="http://blogs.msdn.com/b/microsoft_press/archive/2012/01/12/new-book-software-change-management-case-studies-and-practical-advice.aspx">New book: Software Change Management: Case Studies and Practical Advice</a> (Valerie Woolley)</li>
<li><a href="http://tympanus.net/codrops/2012/01/12/5-things-every-mobile-design-should-have/">5 Things Every Mobile Design Should Have</a> (Patrick Cox)</li>
<li><a href="http://ariya.ofilabs.com/2012/01/small-scale-software-craftsmanship.html?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=small-scale-software-craftsmanship">small-scale software craftsmanship</a> (Ariya Hidayat)</li>
<li><a href="http://www.smashingmagazine.com/2012/01/12/inclusive-design/">Inclusive Design</a> (Faruk Ateş)</li>
<li><a href="http://www.infoq.com/articles/Testability">Article: Design for Testability – The True Story</a> (Gil Zilberfeld)</li>
</ul>
<p>&#160;</p>
<h3><a name="silverlight"></a>Silverlight / WPF / Windows Phone</h3>
<ul>
<li><a href="http://visualstudiomagazine.com/articles/2012/01/12/urimapper-in-windows-phone.aspx">UriMapper in Windows Phone</a> (Nick Randolph)</li>
<li><a href="http://expressioniq.com/?p=3512">Working with animation in Expression Blend</a> (Alex Mukora)</li>
<li><a href="http://blogs.msdn.com/b/bethmassi/archive/2012/01/12/creating-cascading-drop-down-lists-in-visual-studio-lightswitch.aspx">Creating Cascading Drop Down Lists in Visual Studio LightSwitch</a> (Beth Massi)</li>
<li><a href="http://geekswithblogs.net/andrewbrust/archive/2012/01/12/a-windows-phone-ces-post-mortem.aspx">A Windows Phone-CES Post Mortem</a> (Andrew Brust)</li>
<li><a href="http://www.designersilverlight.com/2012/01/12/operation-not-permitted-on-isolatedstoragesettings-in-windows-phone/">“Operation Not Permitted” On IsolatedStorageSettings in Windows Phone</a> (Matthias Shapiro)</li>
<li><a href="http://wpf.2000things.com/2012/01/13/472-uniformgrid-defaults-to-being-square/" target="_blank">2000 WPF Things #472 – UniformGrid Defaults to Being Square</a> (Sean Sexton)</li>
<li><a href="http://dennisdel.com/blog/capturing-the-transport-data-between-visual-studio-and-windows-phone" target="_blank">Capturing the transport data between Visual Studio and Windows Phone</a> (Dennis Delimarsky)</li>
<li><a href="http://feedproxy.google.com/~r/ChrisKoenig/~3/bg05GT49nMU/">New RSS Starter Kit</a> (Chris Koenig)</li>
</ul>
<p>&#160;</p>
<h3><a name="podcasts"></a>Podcasts / Screencasts / Videos</h3>
<ul>
<li><a href="http://www.theverge.com/2012/1/12/2701820/the-verge-mobile-podcast-009-ces-2012-01-12-2012">The Verge Mobile Podcast 009: CES 2012 &#8211; 01.12.2012</a> <em>and</em> <a href="http://www.theverge.com/ces/2012/1/12/2702728/the-vergecast-011-ces-2012-day-2-01-12-2012">The Vergecast 011: CES 2012 Day 2 &#8211; 01.12.2012</a> (Trent Wolbe)</li>
<li><a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2012/01/12/video-windows-phone-wins-88-of-smokedbywindowsphone-challenges-at-ces-2012.aspx">VIDEO: Windows Phone wins 88% of #smokedbywindowsphone challenges at CES 2012!</a> (Ben Rudolph)</li>
<li><a href="http://jamesshore.com/Blog/Lets-Play/Episode-158.html">Let&#8217;s Play TDD #158: writeFile() and readFile()</a> (James Shore)</li>
<li><a href="http://blogs.technet.com/b/next/archive/2012/01/12/surface-2-0-at-ces.aspx">Surface 2.0 at CES</a> (Steve Clayton)</li>
<li><a href="http://feedproxy.google.com/~r/radiotfs/~3/OkpQygovGWY/radiotfs_035.mp3" target="_blank">RadioTFS &#8211; First Show of 2012</a> (Martin Woodward)</li>
<li><a href="http://gweek.net/">Gweek 035: Interview with Robert Anton Wilson&#8217;s daughter</a> (Mark Frauenfelder)</li>
<li><a href="http://feedproxy.google.com/~r/sqlserverpedia/~3/RnqdQtwEGJQ/">MVP First Timers Webcast On Demand</a> (Denny Cherry)</li>
<li><a href="http://feedproxy.google.com/~r/silverlightshow/~3/QBwzWerLNvg/Basic-Ad-Controls-for-Windows-Phone-Apps-with-David-Kelley.aspx" target="_blank">Basic Ad Controls for Windows Phone Apps with David Kelley</a> (Silverlight Show)</li>
</ul>
<p>&#160;</p>
<h3><a name="events"></a>Community / Events</h3>
<ul>
<li><a href="http://jasonhaley.com/blog/post.aspx?id=c202589c-9b72-4069-acc2-095c38336b29">Boston Area Geek Dinner: Thursday January 19, 2012</a> (Jason Haley)</li>
<li><a href="http://wildermuth.com/2012/01/12/New_Cities_and_New_Courses">New Cities and New Courses</a> (Shawn Wildermuth)</li>
<li><a href="http://tomasp.net/blog/fsharp-talks-courses-2012a.aspx">F# courses and talks (Winter 2012 and beyond&#8230;)</a> (Tomas Petricek)</li>
<li><a href="https://github.com/blog/1024-a-new-coding-project-every-week-at-code52">A New Coding Project Every Week at Code52</a> (Paul Betts)</li>
<li><a href="http://blogs.msdn.com/b/msdnmagazine/archive/2012/01/12/10256132.aspx">Charles Petzold on His 25 Years with MSDN Magazine</a> (Michael Desmond)</li>
<li><a href="http://blogs.msdn.com/b/mvpawardprogram/archive/2012/01/12/mvp-award-program-at-ces-2012.aspx">MVP Award Program at CES 2012</a> (Kari Finn)</li>
<li><a href="http://feedproxy.google.com/~r/phonearena/ySoL/~3/fX0-mpHDOtI/Nokia-Lumia-900-collects-the-hardware-at-CES-with-numerous-awards_id25836">Nokia Lumia 900 collects the hardware at CES with numerous awards</a> (PhoneArena Team)</li>
<li><a href="http://blogs.msdn.com/b/visualstudioalm/archive/2012/01/12/net-performance-diagnostics-how-and-where-to-start-user-group-meeting-january-18th-eagan-mn.aspx">.NET Performance Diagnostics: How and Where to Start -User Group Meeting January 18th Eagan, MN</a> (Charles Sterling)</li>
<li><a href="http://feedproxy.google.com/~r/silverlightshow/~3/WcqnVy9WbJ8/Next-Week-Central-Ohio-Windows-Phone-User-Group-January-Meetup.aspx" target="_blank">Next Week: Central Ohio Windows Phone User Group January Meetup</a> (Silverlight Show)</li>
</ul>
<p>&#160;</p>
<h3><a name="sql"></a>Database</h3>
<ul>
<li><a href="http://feedproxy.google.com/~r/BrentOzar-SqlServerDba/~3/YuEXF35Q_5s/">Anatomy of the SQL Server Database: Settings and Secrets Video</a> (Brent Ozar)</li>
<li><a href="http://blog.sqlauthority.com/2012/01/13/sql-server-dacpac-and-sql-azure-quiz-puzzle-12-of-31/">SQL SERVER – DACPAC and SQL Azure – Quiz – Puzzle – 12 of 31</a> (Pinal Dave)</li>
<li><a href="http://feedproxy.google.com/~r/sqlserverpedia/~3/U7wphaD9iBc/">Missing Indexes</a> (Jason Brimhall)</li>
<li><a href="http://blogs.msdn.com/b/dataexplorer/archive/2012/01/12/have-you-tried-the-data-explorer-samples-yet.aspx">Have you tried the “Data Explorer” samples yet?</a> (Data Explorer Team)</li>
</ul>
<p>&#160;</p>
<h3><a name="misc"></a>Miscellaneous</h3>
<ul>
<li><a href="http://professionalaspnet.com/archive/2012/01/12/How-to-Take-Screen-Shots-From-An-Android-Phone-or-Tablet.aspx">How to Take Screen Shots From An Android Phone or Tablet</a> (Chris Love)</li>
<li><a href="http://feedproxy.google.com/~r/MarkNeedham/~3/l7HmU9PTh5A/">Learning Android: Roboguice – Injecting context into PreferenceManager</a> (Mark Needham)</li>
<li><a href="http://www.zdnet.com/blog/microsoft/microsofts-ballmer-if-i-had-it-to-do-all-over-again/11644">Microsoft&#8217;s Ballmer: If I had it to do all over again&#8230;</a> (Mary Jo Foley)</li>
<li><a href="http://www.winsupersite.com/blog/supersite-blog-39/windows8/doesnt-windows-8-141886">Why Doesn&#8217;t Windows 8 Just Look Like THIS?</a> (Paul Thurrott)</li>
<li><a href="http://feedproxy.google.com/~r/winbetadotorg/~3/drJzNPYk4To/kindle-plugin-adobe-indesign-windows-096-beta-released">Kindle Plugin for Adobe InDesign for Windows 0.96 Beta released</a> (Ron)</li>
</ul>
<p>&#160;</p>
<h3><a name="links"></a>More Link Collections</h3>
<ul>
<li><a href="http://jasonhaley.com/blog/post.aspx?id=702052da-8a59-41d7-8420-b558ae76afd2">Interesting Finds: January 13, 2012</a> (Jason Haley)</li>
<li><a href="http://feedproxy.google.com/~r/ReflectivePerspective/~3/ZQQw5skvPBc/">The Morning Brew #1021</a> (Chris Alcock)</li>
<li><a href="http://www.windowsdevnews.com/Blogs.aspx?ID=44">Windows Dev News for January 12, 2011 &#8211; #0026</a> (Dave Campbell)</li>
<li><a href="http://feedproxy.google.com/~r/brhubartOTN/~3/BQv01PkuXsk/archbeat_link_o_rama_for58">ArchBeat Link-o-Rama for 2012-01-12</a> <em>and</em>&#160;<a href="http://feedproxy.google.com/~r/brhubartOTN/~3/4K69AacVStw/archbeat_link_o_rama_for59" target="_blank">ArchBeat Link-o-Rama for 2012-01-13</a> (Bob Rhubart)</li>
<li><a href="http://afreshcup.com/home/2012/1/13/double-shot-795.html">Double Shot #795</a> (Mike Gunderloy)</li>
<li><a href="http://feedproxy.google.com/~r/Windowsphonegeek/~3/nrsW-LIbKvY/daily-wp7-development-news-12-jan-2012">Daily WP7 Development News 12 Jan 2012</a> (Windows Phone Geek)</li>
<li><a href="http://feedproxy.google.com/~r/silverlightshow/~3/O4BzRjHp27M/Daily-News-Digest-1-13-2012.aspx" target="_blank">Daily News Digest 1/13/2012</a> (Silverlight Show)</li>
<li><a href="http://webdevtweets.blogspot.com/2012/01/12-jan-2012.html" target="_blank">Web Dev Tweets 12-Jan-2012</a> (Elijah Manor)</li>
</ul>
<p>&#160;</p>
<h3><a name="shelf"></a>The Geek Shelf</h3>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img src="http://ecx.images-amazon.com/images/I/51CgpzU7PDL._SL160_.jpg" /> </td>
<td valign="top"><a href="http://www.amazon.com/Professional-iPhone-Programming-MonoTouch-Programmer/dp/047063782X?SubscriptionId=0JTCV5ZMHMF7ZYTXGFR2&amp;tag=brdicr-20&amp;linkCode=xm2&amp;camp=2025&amp;creative=165953&amp;creativeASIN=047063782X">Professional iPhone Programming with MonoTouch and .NET/C# (Wrox Programmer to Programmer)</a> by Wallace B. McClure </td>
</tr>
</tbody>
</table>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e3b869ba-70a7-4a92-83ce-54f0507f7da5" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/vs2010" rel="tag">vs2010</a>,<a href="http://del.icio.us/popular/windows+8" rel="tag">windows 8</a>,<a href="http://del.icio.us/popular/winrt" rel="tag">winrt</a>,<a href="http://del.icio.us/popular/monotouch" rel="tag">monotouch</a>,<a href="http://del.icio.us/popular/sql+server" rel="tag">sql server</a>,<a href="http://del.icio.us/popular/data+explorer" rel="tag">data explorer</a>,<a href="http://del.icio.us/popular/windows+phone" rel="tag">windows phone</a>,<a href="http://del.icio.us/popular/silverlight" rel="tag">silverlight</a>,<a href="http://del.icio.us/popular/lightswitch" rel="tag">lightswitch</a>,<a href="http://del.icio.us/popular/wpf" rel="tag">wpf</a>,<a href="http://del.icio.us/popular/css" rel="tag">css</a>,<a href="http://del.icio.us/popular/android" rel="tag">android</a>,<a href="http://del.icio.us/popular/asp.net" rel="tag">asp.net</a>,<a href="http://del.icio.us/popular/wcf" rel="tag">wcf</a>,<a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/entity+framework" rel="tag">entity framework</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2012/01/13/dew-drop-january-13-2012-1241/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://feedproxy.google.com/~r/radiotfs/~3/OkpQygovGWY/radiotfs_035.mp3" length="0" type="audio/mpeg" />
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #6 &#8211; Extract Interface</title>
		<link>http://www.alvinashcraft.com/2012/01/09/c-resharper-awesome-tip-6-extract-interface/</link>
		<comments>http://www.alvinashcraft.com/2012/01/09/c-resharper-awesome-tip-6-extract-interface/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 17:15:35 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2089</guid>
		<description><![CDATA[This is the sixth in a series of quick how-to articles on ReSharper. Tip #6 – Extract Interface Use: Creates a new interface based on the selected class and updates the class to implement the new interface. This is most useful when working with an existing code base because we all define our interfaces first [...]]]></description>
			<content:encoded><![CDATA[<p>This is the sixth in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h3>Tip #6 – Extract Interface</h3>
<p><strong>Use:</strong> Creates a new interface based on the selected class and updates the class to implement the new interface. This is most useful when working with an existing code base because we all define our interfaces first when doing greenfield development, right?&#160; <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://www.alvinashcraft.com/wp-content/uploads/wlEmoticon-smile3.png" /></p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> Shooter</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> Name { get; set; }</pre>
<pre><span class="lnum">   4:  </span>&#160;</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> ReleaseDate { get; set; }</pre>
<pre><span class="lnum">   6:  </span>&#160;</pre>
<pre><span class="lnum">   7:  </span>        <span class="kwrd">public</span> <span class="kwrd">int</span> MaxPlayers { get; set; }</pre>
<pre><span class="lnum">   8:  </span>&#160;</pre>
<pre><span class="lnum">   9:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> HasZombies { get; set; }</pre>
<pre><span class="lnum">  10:  </span>&#160;</pre>
<pre><span class="lnum">  11:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> IsHalo { get; set; }</pre>
<pre><span class="lnum">  12:  </span>&#160;</pre>
<pre><span class="lnum">  13:  </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> Borrow()</pre>
<pre><span class="lnum">  14:  </span>        {</pre>
<pre><span class="lnum">  15:  </span>            <span class="rem">//TODO: Implement borrow logic.</span></pre>
<pre><span class="lnum">  16:  </span>        }</pre>
<pre><span class="lnum">  17:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Right-click the class</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image16.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb5.png" width="544" height="219" /></a></p>
<h5>Select members</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML4614fae1.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML4614fae1" border="0" alt="SNAGHTML4614fae1" src="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML4614fae1_thumb.png" width="484" height="345" /></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">interface</span> IGame</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">string</span> Name { get; set; }</pre>
<pre><span class="lnum">   4:  </span>        <span class="kwrd">string</span> ReleaseDate { get; set; }</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">int</span> MaxPlayers { get; set; }</pre>
<pre><span class="lnum">   6:  </span>        <span class="kwrd">void</span> Borrow();</pre>
<pre><span class="lnum">   7:  </span>    }</pre>
<pre><span class="lnum">   8:  </span>&#160;</pre>
<pre><span class="lnum">   9:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> Shooter : IGame</pre>
<pre><span class="lnum">  10:  </span>    {</pre>
<pre><span class="lnum">  11:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> Name { get; set; }</pre>
<pre><span class="lnum">  12:  </span>&#160;</pre>
<pre><span class="lnum">  13:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> ReleaseDate { get; set; }</pre>
<pre><span class="lnum">  14:  </span>&#160;</pre>
<pre><span class="lnum">  15:  </span>        <span class="kwrd">public</span> <span class="kwrd">int</span> MaxPlayers { get; set; }</pre>
<pre><span class="lnum">  16:  </span>&#160;</pre>
<pre><span class="lnum">  17:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> HasZombies { get; set; }</pre>
<pre><span class="lnum">  18:  </span>&#160;</pre>
<pre><span class="lnum">  19:  </span>        <span class="kwrd">public</span> <span class="kwrd">bool</span> IsHalo { get; set; }</pre>
<pre><span class="lnum">  20:  </span>&#160;</pre>
<pre><span class="lnum">  21:  </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> Borrow()</pre>
<pre><span class="lnum">  22:  </span>        {</pre>
<pre><span class="lnum">  23:  </span>            <span class="rem">//TODO: Implement borrow logic.</span></pre>
<pre><span class="lnum">  24:  </span>        }</pre>
<pre><span class="lnum">  25:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><em></em></p>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:964ace36-7c8d-484f-8db8-1d7a61162120" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2012/01/09/c-resharper-awesome-tip-6-extract-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #5 &#8211; Replace Constructor with Factory Method</title>
		<link>http://www.alvinashcraft.com/2011/12/22/c-resharper-awesome-tip-5-replace-constructor-with-factory-method/</link>
		<comments>http://www.alvinashcraft.com/2011/12/22/c-resharper-awesome-tip-5-replace-constructor-with-factory-method/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 16:19:35 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2055</guid>
		<description><![CDATA[This is the fifth in a series of quick how-to articles on ReSharper. Tip #5 – Replace Constructor with Factory Method Use: If an application must control how or when new instances of classes are created, a factory method can achieve this. ReSharper makes it simple to wrap a constructor with a static factory method. [...]]]></description>
			<content:encoded><![CDATA[<p>This is the fifth in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h3>Tip #5 – Replace Constructor with Factory Method</h3>
<p><strong>Use: </strong>If an application must control how or when new instances of classes are created, a factory method can achieve this. ReSharper makes it simple to wrap a constructor with a static factory method.</p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> Car</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">private</span> IList&lt;IPart&gt; _parts;</pre>
<pre><span class="lnum">   4:  </span> </pre>
<pre><span class="lnum">   5:  </span>         <span class="kwrd">public</span> Car(IList&lt;IPart&gt; parts)</pre>
<pre><span class="lnum">   6:  </span>         {</pre>
<pre><span class="lnum">   7:  </span>             _parts = parts;</pre>
<pre><span class="lnum">   8:  </span>         }</pre>
<pre><span class="lnum">   9:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Right-click the constructor</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image15.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb4.png" width="644" height="130" /></a></p>
<h5>Name your method or accept the default</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML1ecbd865.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SNAGHTML1ecbd865" border="0" alt="SNAGHTML1ecbd865" src="http://www.alvinashcraft.com/wp-content/uploads/SNAGHTML1ecbd865_thumb.png" width="484" height="199" /></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">class</span> Car</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">public</span> <span class="kwrd">static</span> Car CreateCar(IList&lt;IPart&gt; parts)</pre>
<pre><span class="lnum">   4:  </span>        {</pre>
<pre><span class="lnum">   5:  </span>            <span class="kwrd">return</span> <span class="kwrd">new</span> Car(parts);</pre>
<pre><span class="lnum">   6:  </span>        }</pre>
<pre><span class="lnum">   7:  </span>&#160;</pre>
<pre><span class="lnum">   8:  </span>        <span class="kwrd">private</span> IList&lt;IPart&gt; _parts;</pre>
<pre><span class="lnum">   9:  </span>&#160;</pre>
<pre><span class="lnum">  10:  </span>        <span class="kwrd">private</span> Car(IList&lt;IPart&gt; parts)</pre>
<pre><span class="lnum">  11:  </span>         {</pre>
<pre><span class="lnum">  12:  </span>             _parts = parts;</pre>
<pre><span class="lnum">  13:  </span>         }</pre>
<pre><span class="lnum">  14:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>&#160;</p>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c11c88e7-371b-4d6b-8034-f6d4050614ac" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2011/12/22/c-resharper-awesome-tip-5-replace-constructor-with-factory-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #4 &#8211; Convert Abstract Class to Interface</title>
		<link>http://www.alvinashcraft.com/2011/12/20/c-resharper-awesome-tip-4-convert-abstract-class-to-interface/</link>
		<comments>http://www.alvinashcraft.com/2011/12/20/c-resharper-awesome-tip-4-convert-abstract-class-to-interface/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 18:09:07 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2044</guid>
		<description><![CDATA[This is the fourth in a series of quick how-to articles on ReSharper. Tip #4 – Convert Abstract Class to Interface Use: This is used when the class(es) that will be inheriting from a base class also need to inherit from another base class. Derived types can inherit from only one base class but can [...]]]></description>
			<content:encoded><![CDATA[<p>This is the fourth in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h3>Tip #4 – Convert Abstract Class to Interface</h3>
<p><strong>Use:</strong> This is used when the class(es) that will be inheriting from a base class also need to inherit from another base class. Derived types can inherit from only one base class but can implement multiple interfaces.</p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">class</span> Book</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">string</span> Title { get; set; }</pre>
<pre><span class="lnum">   4:  </span>&#160;</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">string</span> Year { get; set; }</pre>
<pre><span class="lnum">   6:  </span>&#160;</pre>
<pre><span class="lnum">   7:  </span>        <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">string</span> Author { get; set; }</pre>
<pre><span class="lnum">   8:  </span>&#160;</pre>
<pre><span class="lnum">   9:  </span>        <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">void</span> Lend();</pre>
<pre><span class="lnum">  10:  </span>&#160;</pre>
<pre><span class="lnum">  11:  </span>        <span class="kwrd">public</span> <span class="kwrd">abstract</span> <span class="kwrd">void</span> AddToInventory();</pre>
<pre><span class="lnum">  12:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Right-click the class</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image14.png"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb3.png" width="644" height="110" /></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>    <span class="kwrd">public</span> <span class="kwrd">interface</span> Book</pre>
<pre><span class="lnum">   2:  </span>    {</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">string</span> Title { get; set; }</pre>
<pre><span class="lnum">   4:  </span>        <span class="kwrd">string</span> Year { get; set; }</pre>
<pre><span class="lnum">   5:  </span>        <span class="kwrd">string</span> Author { get; set; }</pre>
<pre><span class="lnum">   6:  </span>        <span class="kwrd">void</span> Lend();</pre>
<pre><span class="lnum">   7:  </span>        <span class="kwrd">void</span> AddToInventory();</pre>
<pre><span class="lnum">   8:  </span>    }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><strong></strong></p>
<p><strong>Note:</strong> Notice that this refactoring does not change the name of the type. At this point, there will be a squiggly line under the interface’s name, Book. Placing the cursor on Book and pressing &lt;Alt+Enter&gt; will prompt ReSharper to rename it to IBook.</p>
<p>&#160;</p>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2cd1143e-a9e1-4989-a451-a58ace481cff" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2011/12/20/c-resharper-awesome-tip-4-convert-abstract-class-to-interface/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #3 &#8211; Convert Into LINQ Expression</title>
		<link>http://www.alvinashcraft.com/2011/12/16/c-resharper-awesome-tip-3-convert-into-linq-expression/</link>
		<comments>http://www.alvinashcraft.com/2011/12/16/c-resharper-awesome-tip-3-convert-into-linq-expression/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 21:44:33 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2034</guid>
		<description><![CDATA[This is the third in a series of quick how-to articles on Resharper. Tip #3 – Convert Into LINQ Expression Use: ForEach blocks that perform simple bits of logic can often times be rewritten as lambda expressions. This reduces the number of lines of code and usually makes the code more readable. Before public IList&#60;Album&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>This is the third in a series of quick how-to articles on <a href="http://www.jetbrains.com/resharper/" target="_blank">Resharper</a>.</p>
<h3>Tip #3 – Convert Into LINQ Expression</h3>
<p>Use: ForEach blocks that perform simple bits of logic can often times be rewritten as lambda expressions. This reduces the number of lines of code and usually makes the code more readable.</p>
<h5>Before</h5>
<pre class="csharpcode">         <span class="kwrd">public</span> IList&lt;Album&gt; FindAlbumsToGiveAway(IList&lt;Album&gt; albums)
         {
             var badAlbums = <span class="kwrd">new</span> List&lt;Album&gt;();

             <span class="kwrd">foreach</span> (Album album <span class="kwrd">in</span> albums)
             {
                 <span class="kwrd">if</span> (album.Genre == <span class="str">&quot;Country&quot;</span>)
                     badAlbums.Add(album);
             }

             <span class="kwrd">return</span> badAlbums;
         }</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Press &lt;Alt+Enter&gt;</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image13.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb2.png" width="484" height="178" /></a></p>
<h5>After</h5>
<pre class="csharpcode">         <span class="kwrd">public</span> IList&lt;Album&gt; FindAlbumsToGiveAway(IList&lt;Album&gt; albums)
         {
             <span class="kwrd">return</span> albums.Where(album =&gt; album.Genre == <span class="str">&quot;Country&quot;</span>).ToList();
         }</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b6393658-a9d7-47da-9a23-170027582297" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/c%23" rel="tag">c#</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a>,<a href="http://del.icio.us/popular/linq" rel="tag">linq</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2011/12/16/c-resharper-awesome-tip-3-convert-into-linq-expression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #2 &#8211; Create Field</title>
		<link>http://www.alvinashcraft.com/2011/12/14/c-resharper-awesome-tip-2-create-field/</link>
		<comments>http://www.alvinashcraft.com/2011/12/14/c-resharper-awesome-tip-2-create-field/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 18:54:35 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[resharper]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2025</guid>
		<description><![CDATA[This is the second in a series of quick how-to posts on ReSharper. Tip #2 – Create Field Use: Within the body of a class or property, you can type the name of a non-existent variable name. When you place your cursor on the variable, ReSharper provides several options to resolve the impending compilation error. [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second in a series of quick how-to posts on <a href="http://www.jetbrains.com/resharper/" target="_blank">ReSharper</a>.</p>
<h5>Tip #2 – Create Field</h5>
<p><strong>Use:</strong> Within the body of a class or property, you can type the name of a non-existent variable name. When you place your cursor on the variable, ReSharper provides several options to resolve the impending compilation error. Create Field is one of the options.</p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> AddAlbum(<span class="kwrd">string</span> album)</pre>
<pre><span class="lnum">   2:  </span>        {</pre>
<pre><span class="lnum">   3:  </span>            <span class="kwrd">if</span> (String.IsNullOrWhiteSpace(album))</pre>
<pre><span class="lnum">   4:  </span>                <span class="kwrd">throw</span> <span class="kwrd">new</span> ArgumentOutOfRangeException(<span class="str">&quot;album&quot;</span>,</pre>
<pre><span class="lnum">   5:  </span>                                                      album,</pre>
<pre><span class="lnum">   6:  </span>                                                      <span class="str">&quot;Please provide an album name.&quot;</span>);</pre>
<pre><span class="lnum">   7:  </span>&#160;</pre>
<pre><span class="lnum">   8:  </span>            <font color="#ff0000">_albums</font>.Add(album);</pre>
<pre><span class="lnum">   9:  </span>        }</pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<h5>Press &lt;Alt+Enter&gt;</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image12.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb1.png" width="244" height="190" /></a></p>
<h5>After</h5>
<pre class="csharpcode">        <span class="kwrd">private</span> IList&lt;<span class="kwrd">string</span>&gt; _albums = <span class="kwrd">new</span> List&lt;<span class="kwrd">string</span>&gt;();

        <span class="kwrd">public</span> <span class="kwrd">void</span> AddAlbum(<span class="kwrd">string</span> album)
        {
            <span class="kwrd">if</span> (String.IsNullOrWhiteSpace(album))
                <span class="kwrd">throw</span> <span class="kwrd">new</span> ArgumentOutOfRangeException(<span class="str">&quot;album&quot;</span>,
                                                      album,
                                                      <span class="str">&quot;Please provide an album name.&quot;</span>);

            _albums.Add(album);
        }</pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><strong>Note:</strong> I chose the type IList&lt;string&gt;. The default type selected by ReSharper in this case was object. I also added the initializer to the field to avoid null reference exceptions. Please don’t take any of these examples as best coding practices, they are contrived to demonstrate a particular refactoring.</p>
<p><em>Happy coding!</em></p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e7b269f4-f697-4e1c-82f7-3e8589274e7f" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/c%23" rel="tag">c#</a>,<a href="http://del.icio.us/popular/visual+studio" rel="tag">visual studio</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2011/12/14/c-resharper-awesome-tip-2-create-field/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# + ReSharper = Awesome: Tip #1 &#8211; To Automatic Property</title>
		<link>http://www.alvinashcraft.com/2011/12/12/c-resharper-awesome-tip-1-to-automatic-property/</link>
		<comments>http://www.alvinashcraft.com/2011/12/12/c-resharper-awesome-tip-1-to-automatic-property/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 02:12:25 +0000</pubDate>
		<dc:creator>Alvin Ashcraft</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[resharper]]></category>

		<guid isPermaLink="false">http://www.alvinashcraft.com/?p=2015</guid>
		<description><![CDATA[This is the first in a series of quick how-to posts on ReSharper. I love ReSharper. It is a tool that I use every day and don’t really realize how much I rely on it until I use a machine without ReSharper installed. Tip #1 – To Automatic Property Use: If a public property does [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first in a series of quick how-to posts on ReSharper. I love ReSharper. It is a tool that I use every day and don’t really realize how much I rely on it until I use a machine without ReSharper installed.</p>
<h3>Tip #1 – To Automatic Property</h3>
<p><strong>Use:</strong> If a public property does not contain any logic, it can be converted to an auto-property, removing the corresponding private field and replacing usages of the private field.</p>
<h5>Before</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>        <span class="kwrd">private</span> <span class="kwrd">string</span> _name;</pre>
<pre><span class="lnum">   2:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> Name</pre>
<pre><span class="lnum">   3:  </span>        {</pre>
<pre><span class="lnum">   4:  </span>            get { <span class="kwrd">return</span> _name; }</pre>
<pre><span class="lnum">   5:  </span>            set { _name = <span class="kwrd">value</span>; }</pre>
<pre><span class="lnum">   6:  </span>        }</pre>
<pre><span class="lnum">   7:  </span>&nbsp;</pre>
<pre><span class="lnum">   8:  </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> CheckName()</pre>
<pre><span class="lnum">   9:  </span>        {</pre>
<pre><span class="lnum">  10:  </span>            <span class="kwrd">if</span> (_name == <span class="str">"Dark Side of the Moon"</span>)</pre>
<pre><span class="lnum">  11:  </span>                Console.WriteLine(<span class="str">"Awesome"</span>);</pre>
<pre><span class="lnum">  12:  </span>        }</pre>
</div>
<style type="text/css">.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
</style>
<p>Place your cursor on the Name property and…</p>
<h5>Press &lt;Alt-Enter&gt;</h5>
<p><a href="http://www.alvinashcraft.com/wp-content/uploads/image11.png"><img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.alvinashcraft.com/wp-content/uploads/image_thumb.png" width="244" height="126"></a></p>
<h5>After</h5>
<div class="csharpcode">
<pre><span class="lnum">   1:  </span>        <span class="kwrd">public</span> <span class="kwrd">string</span> Name { get; set; }</pre>
<pre><span class="lnum">   2:  </span>&nbsp;</pre>
<pre><span class="lnum">   3:  </span>        <span class="kwrd">public</span> <span class="kwrd">void</span> CheckName()</pre>
<pre><span class="lnum">   4:  </span>        {</pre>
<pre><span class="lnum">   5:  </span>            <span class="kwrd">if</span> (Name == <span class="str">"Dark Side of the Moon"</span>)</pre>
<pre><span class="lnum">   6:  </span>                Console.WriteLine(<span class="str">"Awesome"</span>);</pre>
<pre><span class="lnum">   7:  </span>        }</pre>
<pre>&nbsp;</pre>
</div>
<p><em>Happy coding!</em></p>
<p>&nbsp;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8f32f3c4-3000-46bb-85fa-28a241285a2b" class="wlWriterEditableSmartContent">del.icio.us Tags: <a href="http://del.icio.us/popular/resharper" rel="tag">resharper</a>,<a href="http://del.icio.us/popular/refactoring" rel="tag">refactoring</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.alvinashcraft.com/2011/12/12/c-resharper-awesome-tip-1-to-automatic-property/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

