<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Peter Ritchie's MVP Blog : .NET 3.x</title><link>http://msmvps.com/blogs/peterritchie/archive/tags/.NET+3.x/default.aspx</link><description>Tags: .NET 3.x</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>DevTeach 2009 Vancouver</title><link>http://msmvps.com/blogs/peterritchie/archive/2009/03/26/devteach-2009-vancouver.aspx</link><pubDate>Thu, 26 Mar 2009 16:33:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1681658</guid><dc:creator>PeterRitchie</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/peterritchie/rsscomments.aspx?PostID=1681658</wfw:commentRss><comments>http://msmvps.com/blogs/peterritchie/archive/2009/03/26/devteach-2009-vancouver.aspx#comments</comments><description>&lt;p&gt;The schedule for DevTeach 2009 Vancouver has been announced (&lt;a href="http://www.devteach.com/" title="http://www.devteach.com/"&gt;http://www.devteach.com/&lt;/a&gt;).&amp;nbsp; There&amp;rsquo;s lots of great software development sessions from some of the leaders in our industry.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re planning on improving yourself, this is the conference to go to.&amp;nbsp; Not only can you attend excellent sessions; but you can hob-knob with the presenters and pick their brains.&lt;/p&gt;
&lt;p&gt;If you have a friend or co-worker who&amp;rsquo;s interested, there&amp;rsquo;s a limited-time two-for-one offer for an even better price: &lt;a href="http://www.devteach.com/Register.aspx" title="http://www.devteach.com/Register.aspx"&gt;http://www.devteach.com/Register.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fmsmvps.com%2fblogs%2fpeterritchie%2farchive%2f2009%2f03%2f26%2fdevteach-2009-vancouver.aspx"&gt;&lt;img border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmsmvps.com%2fblogs%2fpeterritchie%2farchive%2f2009%2f03%2f26%2fdevteach-2009-vancouver.aspx" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1681658" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Visual+Studio+2005/default.aspx">Visual Studio 2005</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+2.0/default.aspx">.NET 2.0</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Design_2F00_Coding+Guidance/default.aspx">Design/Coding Guidance</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+3.x/default.aspx">.NET 3.x</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/C_2300_+3.0/default.aspx">C# 3.0</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/DevTeach/default.aspx">DevTeach</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/DDD/default.aspx">DDD</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Software+Development+Practices/default.aspx">Software Development Practices</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/Software+Development+Guidance/default.aspx">Software Development Guidance</category></item><item><title>Oww, my brain hurts.  Extension methods *will* cause me grief.</title><link>http://msmvps.com/blogs/peterritchie/archive/2007/05/31/oww-my-brain-hurts-extension-methods-will-cause-me-grief.aspx</link><pubDate>Fri, 01 Jun 2007 03:55:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:936906</guid><dc:creator>PeterRitchie</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/peterritchie/rsscomments.aspx?PostID=936906</wfw:commentRss><comments>http://msmvps.com/blogs/peterritchie/archive/2007/05/31/oww-my-brain-hurts-extension-methods-will-cause-me-grief.aspx#comments</comments><description>&lt;p&gt;As a consultant, a task that I&amp;#39;m commonly asked to perform is to troubleshoot applications in need of repair.&amp;nbsp; The underlying source code and architecture for many applications in need of repair has, let&amp;#39;s say,&amp;nbsp;&amp;quot;problems&amp;quot;.&amp;nbsp; One of the issues I run into with circumstances like this is the source code was not well organized, not well thought out, or not&amp;nbsp;well managed as it evolved.&amp;nbsp; This type of code has poor style, poor coding habits, and often the programmers have code stepping all over other code through lack of cohesion and excessive coupling.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Believe me, as&amp;nbsp;Visual Studio codenamed &amp;quot;Orcas&amp;quot; is released and proceeds into production development environments, I fully expect my life to get worse with increased fragility of code bases.&amp;nbsp; I ran into a lovely compile error today with the most recent .NET Framework 3.5&amp;nbsp;that confirms my fears. Essentially, the code has two extension methods with the same name and the same number of arguments in two different namespaces.&amp;nbsp; The first argument is the same in each, but the second is different; and, in fact, one is a reference type while the other is a value type.&amp;nbsp; In code that uses one extension method (the one with the second argument of reference type), simply by adding a using statement for the other namespace, caused the following error to occur:&lt;/p&gt;
&lt;p&gt;test.cs(14,26): error CS1928: &amp;#39;string&amp;#39; does not contain a definition for&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;IsPlural&amp;#39; and the best extension method overload&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;Peter.Extensions.IsPlural(string, int)&amp;#39; has some invalid arguments&lt;br /&gt;test.cs(14,40): error CS1503: Argument &amp;#39;2&amp;#39;: cannot convert from &amp;#39;&amp;lt;null&amp;gt;&amp;#39; to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#39;int&amp;#39;&lt;/p&gt;
&lt;p&gt;Hmm, this error confirms that there is more than one IsPlural&amp;nbsp;extension method&amp;nbsp;and goes on to tell me that the &amp;quot;best&amp;quot; override has invalid arguments.&amp;nbsp; Huh?&amp;nbsp; How is it the best if it has invalid arguments?&amp;nbsp; Why would it consider passing null where a value type is expected the &amp;quot;best&amp;quot; override?&amp;nbsp; I really hope this doesn&amp;#39;t make it into RTM.&lt;/p&gt;
&lt;p&gt;Oww, by brain hurts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=936906" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+3.x/default.aspx">.NET 3.x</category></item><item><title>Near Future: Side by Side CLRs in One Application</title><link>http://msmvps.com/blogs/peterritchie/archive/2007/05/10/near-future-side-by-side-clrs-in-one-application.aspx</link><pubDate>Thu, 10 May 2007 19:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:897305</guid><dc:creator>PeterRitchie</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/peterritchie/rsscomments.aspx?PostID=897305</wfw:commentRss><comments>http://msmvps.com/blogs/peterritchie/archive/2007/05/10/near-future-side-by-side-clrs-in-one-application.aspx#comments</comments><description>&lt;p&gt;Jason Zander &lt;a class="" href="http://blogs.msdn.com/jasonz/archive/2007/05/10/side-by-side-in-process-clrs-start-with-silverlight.aspx"&gt;blogged&lt;/a&gt; about Silverlight being able to be hosted in an application already hosting&amp;nbsp;a different CLR version.&lt;/p&gt;
&lt;p&gt;This is fantastic news as it impacts being able to support add-ins written in different versions of future CLRs. (e.g. shell extensions).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=897305" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/.NET+3.x/default.aspx">.NET 3.x</category><category domain="http://msmvps.com/blogs/peterritchie/archive/tags/SilverLight/default.aspx">SilverLight</category></item></channel></rss>