<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0"><channel><title>Ohad's Blog</title><link>http://weblogs.asp.net/israelio/default.aspx</link><description>&lt;font color="#004080"&gt;&lt;b&gt;Lets talk about .net !&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/ohad"&gt;&lt;font color="#004080"&gt;&lt;b&gt;Mirror at:&lt;br /&gt;blogs.microsoft.co.il&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/OhadsBlog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="ohadsblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>ATL.NET Tools – The Videos</title><link>http://weblogs.asp.net/israelio/archive/2010/02/04/atl-net-tools-the-videos.aspx</link><pubDate>Wed, 03 Feb 2010 23:51:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7333446</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7333446</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7333446</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2010/02/04/atl-net-tools-the-videos.aspx#comments</comments><description>&lt;p&gt;About a week ago I've participated in the first meeting of ALT.NET Tools session in Israel, the session was pure fun, we grouped together a bunch of geeks in one conference room to speak about tooling that can make developer’s live easier.&lt;/p&gt;  &lt;p&gt;We had several interesting sessions over the meeting with lots of cool tools… some common ones and some are products of newly startup companies.&lt;/p&gt;  &lt;p&gt;By the middle of the meeting we had lots of pizzas in complementary from our host &lt;a href="http://www.delver.com/" target="_blank"&gt;Delver&lt;/a&gt; or by its new name Sears Israel. And by the end of the meeting I've handed out several nice prizes to the ones who filled up the feedback forms correctly :-)&lt;/p&gt;  &lt;p&gt;Among the prizes your could have find leftovers from Manning’s contribution to the &lt;a href="www.idcc.co.il" target="_blank"&gt;IDCC (Israeli Developer Community Conference)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.manning.com/colledge/" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="colledge_cover150" border="0" alt="colledge_cover150" src="http://weblogs.asp.net/blogs/israelio/colledge_cover150_27EC736C.jpg" width="119" height="148" /&gt;&lt;/a&gt;&lt;a href="http://www.manning.com/foord/" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="foord_cover150" border="0" alt="foord_cover150" src="http://weblogs.asp.net/blogs/israelio/foord_cover150_340DED93.jpg" width="119" height="147" /&gt;&lt;/a&gt; &lt;a href="http://www.manning.com/osherove/" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="osherove_cover150" border="0" alt="osherove_cover150" src="http://weblogs.asp.net/blogs/israelio/osherove_cover150_04DC01FC.jpg" width="115" height="143" /&gt;&lt;/a&gt; &lt;a href="http://www.manning.com/kuate/" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="kuate_cover150" border="0" alt="kuate_cover150" src="http://weblogs.asp.net/blogs/israelio/kuate_cover150_2A657F5D.jpg" width="111" height="139" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And an original boxed version of Windows 7 Ultimate x86/x64 DVD that I've received some time ago from Microsoft&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/windows7boxart_10251639.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="windows-7-boxart" border="0" alt="windows-7-boxart" src="http://weblogs.asp.net/blogs/israelio/windows7boxart_thumb_6E593DA7.jpg" width="130" height="124" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I’ve just finished encoding and uploading the ATL.NET Tools sessions and you are welcome to watch them online. Please note that the sessions are in Hebrew.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Opening words by &lt;a href="http://www.kenegozi.com/blog/" target="_blank"&gt;Ken Egosi&lt;/a&gt; – the founder of ALT.NET meetings in Israel&lt;/strong&gt;&lt;/p&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="333" id="viddler_d8a7e446"&gt;&lt;param name="movie" value="http://www.viddler.com/player/d8a7e446/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/d8a7e446/" width="437" height="333" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_d8a7e446"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Session 1&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.balsamiq.com/products/mockups" target="_blank"&gt;Balasmiq Mockups&lt;/a&gt; – really cool tool for building mockups !&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;you can also read about it on the latest &lt;a href="http://msdn.microsoft.com/en-us/magazine/ee291539.aspx" target="_blank"&gt;MSDN Magazine article about UI Mockups&lt;/a&gt;&lt;/p&gt; - Create software mockups in minutes   &lt;br /&gt;- Collaborate with your team   &lt;br /&gt;- Focus on creating your product   &lt;br /&gt;  &lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_8341e669"&gt;&lt;param name="movie" value="http://www.viddler.com/player/8341e669/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/8341e669/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_8341e669"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Session 2&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Log4Net Viewer – &lt;a href="http://logging.apache.org/chainsaw/index.html" target="_blank"&gt;Apache Chainsaw&lt;/a&gt; – log view aggregator&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“Chainsaw v2 is a companion application to Log4j written by members of the Log4j development community. Like a number of Open Source projects, this new version was built upon inspirations, ideas and creations of others. Chainsaw v2 has it's roots from the original Chainsaw utility written by Oliver Burn, and with inspiration from the Log Factor 5 utility contributed by ThoughtWorks Inc.”&lt;/p&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_f3c8a8af"&gt;&lt;param name="movie" value="http://www.viddler.com/player/f3c8a8af/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/f3c8a8af/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_f3c8a8af"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Session 3&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sharpkit.net/" target="_blank"&gt;Sharpkit&lt;/a&gt;&amp;#160;&lt;strong&gt;– forget about javascript…write it in C#&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“If you are missing features like auto-complete, XML documentation, syntax verification and refactoring in your JavaScript development, you should give SharpKit a try. &lt;/p&gt;  &lt;p&gt;When you work with SharpKit, you write C# instead of JavaScript. This way you don't have to memorize the API - it's always right there at your fingertips”&lt;/p&gt;  &lt;p&gt;&lt;/p&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_22c3759e"&gt;&lt;param name="movie" value="http://www.viddler.com/player/22c3759e/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/22c3759e/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_22c3759e"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Session 4&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://quickunit.com/" target="_blank"&gt;&lt;strong&gt;QucikUnit&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; – A supplementary tool for unit testing&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“Developers don’t create enough unit tests. QuickUnit can help.&lt;/p&gt;  &lt;p&gt;With QuickUnit – novice developers can write quality unit tests quickly without the initial learning curve”&lt;/p&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_c1a5adc2"&gt;&lt;param name="movie" value="http://www.viddler.com/player/c1a5adc2/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/c1a5adc2/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_c1a5adc2"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Session 5&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.jetbrains.com/teamcity/" target="_blank"&gt;TeamCity&lt;/a&gt; - Distributed Build Management and Continuous Integration Server&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“TeamCity is a continuous integration and build management system. With TeamCity, you can set up a build server within minutes and enjoy out of the box continuous unit testing, code quality analysis, and early reporting on build problems — even without leaving your favorite IDE. TeamCity offers a gentle learning curve, so you can quickly improve your release management practices by gradually adopting its advanced features and capabilities.”&lt;/p&gt; &lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_4e586c68"&gt;&lt;param name="movie" value="http://www.viddler.com/player/4e586c68/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/4e586c68/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_4e586c68"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&lt;strong&gt;Session 6&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.mongodb.org/display/DOCS/Home" target="_blank"&gt;MongoDB&lt;/a&gt; - Combining the best features of document databases, key-value stores, and RDBMSes&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;“MongoDB (from &amp;quot;humongous&amp;quot;) is a scalable, high-performance, open source, schema-free, document-oriented database. Written in C++, MongoDB features:&lt;/p&gt;  &lt;p&gt;- Document-oriented storage (the simplicity and power of JSON-like data schemas)    &lt;br /&gt;- Dynamic queries    &lt;br /&gt;- Full index support, extending to inner-objects and embedded arrays     &lt;br /&gt;- Query profiling    &lt;br /&gt;- Fast, in-place updates    &lt;br /&gt;- Efficient storage of binary data large objects (e.g. photos and videos)     &lt;br /&gt;- Replication and fail-over support     &lt;br /&gt;- Auto-sharding for cloud-level scalability     &lt;br /&gt;- MapReduce for complex aggregation     &lt;br /&gt;- Commercial Support, Hosting, and Consulting”&lt;/p&gt;  &lt;p&gt;&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_4f3e0df2"&gt;&lt;param name="movie" value="http://www.viddler.com/player/4f3e0df2/" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;embed src="http://www.viddler.com/player/4f3e0df2/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_4f3e0df2"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7333446" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Databases/default.aspx">Databases</category><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/israelio/archive/tags/ALT.NET+Tools/default.aspx">ALT.NET Tools</category></item><item><title>E-Mail Storm flooding Hewlett-Packard</title><link>http://weblogs.asp.net/israelio/archive/2010/01/04/e-mail-storm-flooding-around-at-hewlett-packard.aspx</link><pubDate>Mon, 04 Jan 2010 16:51:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7299841</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7299841</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7299841</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2010/01/04/e-mail-storm-flooding-around-at-hewlett-packard.aspx#comments</comments><description>&lt;P&gt;What is an E-mail storm ?&lt;/P&gt;
&lt;P&gt;From &lt;A href="http://en.wikipedia.org/wiki/E-mail_storm" mce_href="http://en.wikipedia.org/wiki/E-mail_storm"&gt;Wikipedia&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;An e-mail storm is a sudden spike of Reply All messages on an email distribution list, usually caused by a controversial or misdirected message. Such storms start when multiple members of the distribution list reply to the entire list at the same time in response instigating message. Other members soon respond, usually adding vitriol to the discussion, asking to be removed from the list, or pleading for the cessation of messages. If enough members reply to these unwanted messages this triggers a chain reaction of email messages. The sheer load of traffic generated by these storms can render the email servers inoperative, similar to a DDoS attack.&lt;/P&gt;
&lt;P&gt;On the 31/12/2009 10:20 the following email was send by someone in HP, his/her mistake was that it was sent to the wrong address, the email was sent to an exchange discussion list which hold all the employees who has remote access to the company – yes all the employees who has remote access to HP and you can start counting them…&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/israelio/image_24510FB4.png" mce_href="http://weblogs.asp.net/blogs/israelio/image_24510FB4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://weblogs.asp.net/blogs/israelio/image_thumb_0F4F6774.png" width=573 height=390 mce_src="http://weblogs.asp.net/blogs/israelio/image_thumb_0F4F6774.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;In response to this email hundreds if not more emails were sent back using Replay-To-All asking to be removed from the DL as people were/are flooded with emails – anyone who responded responded back to the DL itself and by that sending email again to company wide.&lt;/P&gt;
&lt;P&gt;One email was hilarious, someone decided to send to the DL an email asking ppl to take an outlook training over the internal portal hoping that ppl will learn NOT to press Replay-To-All&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/blogs/israelio/image_37BE23BB.png" mce_href="http://weblogs.asp.net/blogs/israelio/image_37BE23BB.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://weblogs.asp.net/blogs/israelio/image_thumb_4DC48F4D.png" width=578 height=255 mce_src="http://weblogs.asp.net/blogs/israelio/image_thumb_4DC48F4D.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This led to a line of even more hilarious emails as some employees answered to the DL that they are not using outlook and they are using linux systems and as such what will be with their bonus, do they need to take the training or not ? :-)&lt;/P&gt;
&lt;P&gt;I’ve noticed several emails requesting ppl to stop sending emails but the flood is keep on coming… &lt;/P&gt;
&lt;P&gt;If you look at Wikipedia again for former incidents:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;On October 14, 1997, a Microsoft employee noticed that they were on an as-yet unknown email distribution list 'Bedlam DL3', and emailed the list asking to be removed. This list contained approximately a quarter of the company's employees, 13,000 email addresses. Other users replied to the list with similar requests and still others responded with pleas to stop replying to the list. A Microsoft employee estimates that 15 million emails were sent, using 195 GB of bandwidth.&lt;/LI&gt;
&lt;LI&gt;On October 3, 2007, an email storm was generated at the US Department of Homeland Security, causing more than 2.2 million messages to be sent, and exposing the names of hundreds of security professionals.&lt;/LI&gt;
&lt;LI&gt;State Department employees were warned they could face disciplinary action for taking part in a massive email storm that "nearly knocked out one of the State Department's main electronic communications systems." &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It really makes you think of what can a simple mistake of an employee can cause to a company…&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#ff0000&gt;&lt;B&gt;Beware of whom you send you email to, choose you DL wisely and please please please think for a min before hitting the Replay-To-All.&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008000&gt;Note: A much better was it to replay to all while putting the DL in the bcc field… this way if someone do use Replay-To-All he needs to specifically enter the DL name again&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7299841" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/Security/default.aspx">Security</category><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category></item><item><title>Ness Tziona Usergroup 1 Year Birthday Party</title><link>http://weblogs.asp.net/israelio/archive/2009/11/23/ness-tziona-usergroup-1-year-birthday-party.aspx</link><pubDate>Mon, 23 Nov 2009 06:49:23 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7263309</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7263309</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7263309</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/11/23/ness-tziona-usergroup-1-year-birthday-party.aspx#comments</comments><description>&lt;p align="left"&gt;Last Wednesday we celebrated a year of community work with the Ness Tziona Usergroup !&lt;/p&gt;  &lt;p align="left"&gt;The meeting which included a lecture by &lt;a href="blogs.microsoft.co.il/blogs/pavely" target="_blank"&gt;Pavel&lt;/a&gt; about What’s new in C# 4.0 &amp;amp; Visual Studio 2010 grouped together more than 100 attendees who enjoyed a great lecture, 2 cakes, lots of pizza slices, balloon and a handful of books that were given over the presentation.&lt;/p&gt;  &lt;p align="left"&gt;C-Ya on our next meeting.&lt;/p&gt;  &lt;p align="left"&gt;Ohad.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2683_6DBDDF2A.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2683" border="0" alt="_MG_2683" src="http://weblogs.asp.net/blogs/israelio/_MG_2683_thumb_7CC49837.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2682_25EC3076.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2682" border="0" alt="_MG_2682" src="http://weblogs.asp.net/blogs/israelio/_MG_2682_thumb_4DEEB9C8.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2681_0C07D47A.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2681" border="0" alt="_MG_2681" src="http://weblogs.asp.net/blogs/israelio/_MG_2681_thumb_6D213ACE.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2679_241B1908.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2679" border="0" alt="_MG_2679" src="http://weblogs.asp.net/blogs/israelio/_MG_2679_thumb_533CDED2.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2677_6A1BB04E.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2677" border="0" alt="_MG_2677" src="http://weblogs.asp.net/blogs/israelio/_MG_2677_thumb_51C89633.jpg" width="244" height="170" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2671_1700ED5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2671" border="0" alt="_MG_2671" src="http://weblogs.asp.net/blogs/israelio/_MG_2671_thumb_3A013900.jpg" width="244" height="170" /&gt;&lt;/a&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2675_5F1E836C.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2675" border="0" alt="_MG_2675" src="http://weblogs.asp.net/blogs/israelio/_MG_2675_thumb_2788C27E.jpg" width="170" height="244" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2674_7A935FA2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2674" border="0" alt="_MG_2674" src="http://weblogs.asp.net/blogs/israelio/_MG_2674_thumb_4A1CDB2C.jpg" width="170" height="244" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2676_0835F5DE.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2676" border="0" alt="_MG_2676" src="http://weblogs.asp.net/blogs/israelio/_MG_2676_thumb_317D180F.jpg" width="170" height="244" /&gt;&lt;/a&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2673_3D9E9236.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2673" border="0" alt="_MG_2673" src="http://weblogs.asp.net/blogs/israelio/_MG_2673_thumb_7C606311.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2672_366F2FF1.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2672" border="0" alt="_MG_2672" src="http://weblogs.asp.net/blogs/israelio/_MG_2672_thumb_5AF097A8.jpg" width="244" height="170" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://weblogs.asp.net/blogs/israelio/IMG_2664_38B88C22.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMG_2664" border="0" alt="IMG_2664" src="http://weblogs.asp.net/blogs/israelio/IMG_2664_thumb_7A8F4BA3.jpg" width="244" height="170" /&gt;&lt;/a&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2665_6695B90D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2665" border="0" alt="_MG_2665" src="http://weblogs.asp.net/blogs/israelio/_MG_2665_thumb_053C7D2C.jpg" width="244" height="170" /&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2669_5127DDD8.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2669" border="0" alt="_MG_2669" src="http://weblogs.asp.net/blogs/israelio/_MG_2669_thumb_15F4020D.jpg" width="170" height="244" /&gt;&lt;/a&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/_MG_2670_6655E380.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="_MG_2670" border="0" alt="_MG_2670" src="http://weblogs.asp.net/blogs/israelio/_MG_2670_thumb_18D940F3.jpg" width="170" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7263309" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/israelio/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Usergroup/default.aspx">Usergroup</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category></item><item><title>Explanation of Raid levels</title><link>http://weblogs.asp.net/israelio/archive/2009/11/23/explanation-of-raid-levels.aspx</link><pubDate>Mon, 23 Nov 2009 06:20:27 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7263301</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7263301</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7263301</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/11/23/explanation-of-raid-levels.aspx#comments</comments><description>&lt;p&gt;While reordering some of my old hard drives I found this Image which I do not recall did where I get it from… &lt;em&gt;I&lt;/em&gt;t is funny little one explaining the basics about Raid levels.&lt;/p&gt;  &lt;p&gt;Enjoy :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/raid_4E187731.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="raid" border="0" alt="raid" src="http://weblogs.asp.net/blogs/israelio/raid_thumb_7A91814A.jpg" width="541" height="420" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7263301" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/ITPRO/default.aspx">ITPRO</category></item><item><title>Silverlight 4 Training @ CH9</title><link>http://weblogs.asp.net/israelio/archive/2009/11/19/silverlight-4-training-ch9.aspx</link><pubDate>Thu, 19 Nov 2009 06:16:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7260036</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7260036</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7260036</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/11/19/silverlight-4-training-ch9.aspx#comments</comments><description>&lt;p&gt;Channel 9 just published a Silverlight 4 Training which includes hands-on-labs, a video and a whitepaper designed to help you learn about the new features in Silverlight 4 !&lt;/p&gt;  &lt;p&gt;The training is focused on three major areas: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Enabling Business Application Development&lt;/p&gt;    &lt;p&gt;Empowering Richer Experiences&lt;/p&gt;    &lt;p&gt;Moving Beyond the Browser&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Silverlight 4 now includes cool features like Printing, WebCam and Microphone support, custom right-click, rich text, HTML support and access to local files with trusted applications. &lt;/p&gt;  &lt;p&gt;Check it out over &lt;a href="http://channel9.msdn.com/learn/courses/Silverlight4/" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7260036" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/SilverLight/default.aspx">SilverLight</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/VIDEOS/default.aspx">VIDEOS</category><category domain="http://weblogs.asp.net/israelio/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Microsoft PDC 09 – The Videos</title><link>http://weblogs.asp.net/israelio/archive/2009/11/19/microsoft-pdc-09-the-videos.aspx</link><pubDate>Thu, 19 Nov 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7260026</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7260026</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7260026</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/11/19/microsoft-pdc-09-the-videos.aspx#comments</comments><description>&lt;p&gt;PDC videos are starting to show up… keep an eye on &lt;a title="http://microsoftpdc.com/Videos" href="http://microsoftpdc.com/Videos"&gt;http://microsoftpdc.com/Videos&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The quality of the videos type WMVHIGH is very good although the files might consume large amount of storage for ones who will try to download them all.&lt;/p&gt;  &lt;p&gt;Let the HOME PDC BEGIN !&lt;/p&gt;  &lt;p&gt;Any chance to send home PDC attendees also a new &lt;a href="http://microsoftpdc.com/tablet" target="_blank"&gt;tablet&lt;/a&gt; ? &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/image_25B2ECB5.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/israelio/image_thumb_515390E4.png" width="505" height="424" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7260026" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/VIDEOS/default.aspx">VIDEOS</category><category domain="http://weblogs.asp.net/israelio/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Ray speaks live from PDC 09 Conf @ LA</title><link>http://weblogs.asp.net/israelio/archive/2009/11/17/ray-speaks-live-from-pdc-09-conf-la.aspx</link><pubDate>Tue, 17 Nov 2009 16:45:20 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7258080</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7258080</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7258080</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/11/17/ray-speaks-live-from-pdc-09-conf-la.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/image_5EA4826B.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/israelio/image_thumb_226890F6.png" width="559" height="295" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Cool ! – live streaming !&lt;/p&gt;  &lt;p&gt;&lt;a title="http://microsoftpdc.com/" href="http://microsoftpdc.com/"&gt;http://microsoftpdc.com/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7258080" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/VIDEOS/default.aspx">VIDEOS</category><category domain="http://weblogs.asp.net/israelio/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Free training on Visual Studio 2010 and C# 4.0</title><link>http://weblogs.asp.net/israelio/archive/2009/10/27/free-training-on-visual-studio-2010-and-c-4-0.aspx</link><pubDate>Tue, 27 Oct 2009 20:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7240875</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7240875</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7240875</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/27/free-training-on-visual-studio-2010-and-c-4-0.aspx#comments</comments><description>&lt;p&gt;Did you know that you can train yourself for what’s new in Visual Studio 2010 and C# 4.0 (also VB) ?&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en" target="_blank"&gt;Microsoft Visual Studio 2010 and .NET Framework 4 Training Kit - October Preview&lt;/a&gt; is available for more than a week now and it includes lots of slide decks, demos and labs covering the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Whats New In the .NET Framework 4&lt;/li&gt;    &lt;li&gt;Whats New In Visual Studio 2010&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Video: Downloading And Installing Visual Studio 2010 Beta 2&lt;/li&gt;      &lt;li&gt;Demo: Hello Visual Studio 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Common Language Runtime&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Demo: System.Threading.Barrier Demo &lt;/li&gt;      &lt;li&gt;Demo: System.Threading.CountdownEvent &lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt; Managed Languages&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;What's New In C# 4 and Visual Basic 10 &lt;/li&gt;      &lt;li&gt;Video: Fixing PIA Pains with Type Equivalence&lt;/li&gt;      &lt;li&gt;Demo: Managed Languages 10-in-1 &lt;/li&gt;      &lt;li&gt;Lab: Introduction To F#&lt;/li&gt;      &lt;li&gt;Lab: Visual Studio 2010: Office Programmability&lt;/li&gt;      &lt;li&gt;Lab: Visual Studio 2010: Test Driven Development&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt; ASP.NET 4&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introduction to ASP.NET MVC&lt;/li&gt;      &lt;li&gt;Whats New In ASP.NET AJAX 4&lt;/li&gt;      &lt;li&gt;Whats New In ASP.NET Web Forms 4&lt;/li&gt;      &lt;li&gt;Web Deployment with Visual Studio 2010&lt;/li&gt;      &lt;li&gt;Video: Simplifying Data-Driven Web Applications&lt;/li&gt;      &lt;li&gt;Demo: AdventureWorks using AJAX &lt;/li&gt;      &lt;li&gt;Demo: ASP.NET AJAX 10-in-1 &lt;/li&gt;      &lt;li&gt;Lab: ASP.NET AJAX&lt;/li&gt;      &lt;li&gt;Lab: Building an Web Application&lt;/li&gt;      &lt;li&gt;Lab: Enhancing a Web Application&lt;/li&gt;      &lt;li&gt;Lab: Introduction to ASP.NET Web Forms 4.0&lt;/li&gt;      &lt;li&gt;Lab: Web Development in Visual Studio 2010&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;What's New in Windows Presentation Foundation 4&lt;/li&gt;      &lt;li&gt;Lab: Building a Data-Driven Master/Detail Business Form in WPF using Visual Studio 2010&lt;/li&gt;      &lt;li&gt;Lab: Taskbar - MFC&lt;/li&gt;      &lt;li&gt;Lab: Gestures - MFC&lt;/li&gt;      &lt;li&gt;Lab: Multitouch - MFC&lt;/li&gt;      &lt;li&gt;Lab: Ribbon – MFC&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows Workflow&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Workflow 4: A First Look&lt;/li&gt;      &lt;li&gt;Video: Workflow Web Services&lt;/li&gt;      &lt;li&gt;Lab: Introduction to Workflow 4.0&lt;/li&gt;      &lt;li&gt;Lab: WCF Service Discovery using .NET Framework 4.0&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Windows Communication Foundation&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Lab: WCF Service Discovery using .NET Framework 4.0&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Silverlight&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introduction to .NET RIA Services&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Data Access&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Whats New In Entity Framework 4&lt;/li&gt;      &lt;li&gt;Whats New In ADONET Data Services 1.5&lt;/li&gt;      &lt;li&gt;Introduction to Project &amp;quot;Velocity&amp;quot;&lt;/li&gt;      &lt;li&gt;Video: Server-Driven Paging with ADO.NET Data Services&lt;/li&gt;      &lt;li&gt;Demo: Project Velocity &lt;/li&gt;      &lt;li&gt;Lab: Introduction to ADO.NET Data Services&lt;/li&gt;      &lt;li&gt;Lab: Introduction To Project &amp;quot;Velocity&amp;quot;&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Parallel Computing&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Parallel Computing for Managed Developers&lt;/li&gt;      &lt;li&gt;Demo: ContosoAutomotive Demo&lt;/li&gt;      &lt;li&gt;Demo: BabyNames &lt;/li&gt;      &lt;li&gt;Demo: Parallel.For Loop &lt;/li&gt;      &lt;li&gt;Demo: Parallel LINQ (PLINQ) &lt;/li&gt;      &lt;li&gt;Demo: System.Threading.Tasks &lt;/li&gt;      &lt;li&gt;Lab: Parallel Extensions: Building Multicore Applications with .NET&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Extensibility&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introduction to the Managed Extensibility Framework&lt;/li&gt;      &lt;li&gt;Video: MEF Preview 7&lt;/li&gt;      &lt;li&gt;Demo: Demos for &amp;quot;Intro to Mef&amp;quot; Presentation &lt;/li&gt;      &lt;li&gt;Lab: Introduction To Managed Extensibility Framework&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Application Lifecycle Management&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Download the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en" target="_blank"&gt;Visual Studio 2010 and .NET Framework 4 Training Kit - October Preview&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/learn/courses/vs2010/" target="_blank"&gt;Channel 9 also hosting lots of VS 2010 &amp;amp; .NET 4.0 Training classes&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7240875" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/SilverLight/default.aspx">SilverLight</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/CSharp+4.0/default.aspx">CSharp 4.0</category></item><item><title>What’s new in Visual C# 4.0 ? – Part 3 - Dynamic ExpendoObject</title><link>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-3.aspx</link><pubDate>Tue, 27 Oct 2009 19:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7240857</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7240857</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7240857</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-3.aspx#comments</comments><description>&lt;P&gt;This is the third post of what’s new in Visual Studio C# 4.0. &lt;/P&gt;
&lt;P&gt;At the former posts we covered &lt;A href="http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx" mce_href="http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx"&gt;optional parameters&lt;/A&gt;, &lt;A href="http://blogs.microsoft.co.il/blogs/ohad/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-2.aspx" target=_blank mce_href="http://blogs.microsoft.co.il/blogs/ohad/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-2.aspx"&gt;Named Parameters&lt;/A&gt; at this post we will cover C# Dynamics and ExpandoObject&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;dynamic &amp;amp; ExpendoObject&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;C# 1.0 introduced us to the managed world (based on Microsoft perception)&lt;/P&gt;
&lt;P&gt;C# 2.0 brought us Genetic types.&lt;/P&gt;
&lt;P&gt;C# 3.0 introduced us to new concept – LINQ&lt;/P&gt;
&lt;P&gt;C# 4.0 highlight is all about Dynamic Types&lt;/P&gt;
&lt;P&gt;Say for example that you have the need to create an object on the spot and use it in a local scope, without dynamic type you had to define a class and then create the object. you could do it at runtime using reflection emit, code dom etc…now its much simpler !&lt;/P&gt;
&lt;P&gt;All you have to do it to create an object of the type dynamic and using a special builder called ExpandoObject you can now define your object on the fly and use it.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:27ab8310-efaa-4ab4-bb94-b2f19900ae1b class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;dynamic&lt;/SPAN&gt; person = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ExpandoObject&lt;/SPAN&gt;(); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Firstname=&lt;SPAN style="COLOR: #a31515"&gt;"ohad"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Lastname = &lt;SPAN style="COLOR: #a31515"&gt;"israeli"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Firstname); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Lastname);&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;You may say… wow this is cool.. well wait and see some more cool stuff..&lt;/P&gt;
&lt;P&gt;Now lets add to this example and say that you would like to add a functionality to this object, what about adding person.Fullname in order to join the first and last name of the person and return it back.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:e8b326ee-eb94-4988-951d-c878ad30758a class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;dynamic&lt;/SPAN&gt; person = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ExpandoObject&lt;/SPAN&gt;(); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Firstname=&lt;SPAN style="COLOR: #a31515"&gt;"ohad"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Lastname = &lt;SPAN style="COLOR: #a31515"&gt;"israeli"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Fullname = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: #0000ff"&gt;delegate&lt;/SPAN&gt;() { &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; person.Firstname + &lt;SPAN style="COLOR: #a31515"&gt;" "&lt;/SPAN&gt; + person.Lastname; });&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Firstname); &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Lastname);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Fullname());&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;As you can see we can point the new object properties to lambda expressions such as Func&amp;lt;string&amp;gt; and define on the spot a function that will return the full name of the person.&lt;/P&gt;
&lt;P&gt;Note that on line 12 you need to call the function and not use it as property – person.Fullname()&lt;/P&gt;
&lt;P&gt;What will happen if you forget the () by the end of the function name ? (note the change on line 12)&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:42a0fd3a-9e21-49b8-a904-fc598f805fb8 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;dynamic&lt;/SPAN&gt; person = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ExpandoObject&lt;/SPAN&gt;(); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Firstname=&lt;SPAN style="COLOR: #a31515"&gt;"ohad"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Lastname = &lt;SPAN style="COLOR: #a31515"&gt;"israeli"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Fullname = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: #0000ff"&gt;delegate&lt;/SPAN&gt;() { &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; person.Firstname + &lt;SPAN style="COLOR: #a31515"&gt;" "&lt;/SPAN&gt; + person.Lastname; });&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Firstname); &lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Lastname);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Fullname);&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The result will be the lambda expression itself instead of the result of the lamba expression:&lt;/P&gt;
&lt;P&gt;ohad &lt;BR&gt;israeli &lt;BR&gt;System.Func`1[System.String]&lt;/P&gt;
&lt;P&gt;You can also add methods and not just functions using the Action expression: (note line 9)&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:f7a65cb0-2321-4c53-a1f0-a618a2ee393e class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;dynamic&lt;/SPAN&gt; person = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ExpandoObject&lt;/SPAN&gt;(); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Firstname=&lt;SPAN style="COLOR: #a31515"&gt;"ohad"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Lastname = &lt;SPAN style="COLOR: #a31515"&gt;"israeli"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Fullname = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: #0000ff"&gt;delegate&lt;/SPAN&gt;() { &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; person.Firstname + &lt;SPAN style="COLOR: #a31515"&gt;" "&lt;/SPAN&gt; + person.Lastname; });&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.CallOhad = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Action&lt;/SPAN&gt;(() =&amp;gt; { &lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #a31515"&gt;"Hi Ohad are you there ?"&lt;/SPAN&gt;); });&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Firstname); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Lastname);&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.Fullname());&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.CallOhad();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;In conclusion dynamic types are cool but and there is a big but !&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;They are hard to debug and some of their functionality is only being tested at runtime this is why it is very important that whenever you use dynamic types test, test, and do some more testing using unit test of your code. &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you follow the following code you will notice that each of the calls to the properties in lines 11,12,13 begins with a small letter instead of uppercase.&amp;nbsp; This code will compile without any errors but of course the code will fail at runtime as the properties / function names are all uppercase.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:5b0d2542-3507-43c3-9e7b-b286310f6a42 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;dynamic&lt;/SPAN&gt; person = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;ExpandoObject&lt;/SPAN&gt;(); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Firstname=&lt;SPAN style="COLOR: #a31515"&gt;"ohad"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Lastname = &lt;SPAN style="COLOR: #a31515"&gt;"israeli"&lt;/SPAN&gt;;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.Fullname = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Func&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: #0000ff"&gt;delegate&lt;/SPAN&gt;() { &lt;SPAN style="COLOR: #0000ff"&gt;return&lt;/SPAN&gt; person.Firstname + &lt;SPAN style="COLOR: #a31515"&gt;" "&lt;/SPAN&gt; + person.Lastname; });&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.CallOhad = &lt;SPAN style="COLOR: #0000ff"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Action&lt;/SPAN&gt;(() =&amp;gt; { &lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #a31515"&gt;"Hi Ohad are you there ?"&lt;/SPAN&gt;); });&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.firstname); &lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.lastname);&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(person.fullname());&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;person.CallOhad();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7240857" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/CSharp+4.0/default.aspx">CSharp 4.0</category></item><item><title>What's new in Visual C# 4.0 ? - Part 2 - Names Parameters</title><link>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-2.aspx</link><pubDate>Tue, 27 Oct 2009 14:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7240573</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7240573</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7240573</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-2.aspx#comments</comments><description>&lt;P&gt;This is the second post of what’s new in Visual Studio C# 4.0. &lt;/P&gt;
&lt;P&gt;At the former post we reviewed the feature of &lt;A href="http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx" target=_blank mce_href="http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx"&gt;optional parameters&lt;/A&gt; at this post we will concentrate on Named Parameters.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Named Parameters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Lets assume you are writing the following procedure :&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:bb321d02-ff82-4112-b596-38c02caebf16 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name, &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; msg)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0} !\n{1}"&lt;/SPAN&gt;, name,msg));&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;When you want to call it from your code you are using something like:&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:78743cdb-babd-4d79-8057-1f3a1b918c55 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(&lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;,&lt;SPAN style="COLOR: #a31515"&gt;"What's up?"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;What’s the problem ?&lt;/P&gt;
&lt;P&gt;Although you will have intellisense while you are coding it for the reader of the code its unclear what is the first parameter and what is the second parameter.&lt;/P&gt;
&lt;P&gt;This is where Named Parameters gets into the picture. Using named parameter the code becomes much more readable to one who haven’t wrote it.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:c3acc8a6-81ee-4bf0-8634-9e217c3508ce class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(name: &lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;, msg: &lt;SPAN style="COLOR: #a31515"&gt;"What's up?"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name, &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; msg)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0} !\n{1}"&lt;/SPAN&gt;, name,msg));&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Named parameters are specially useful whenever you have multiple optional parameters of the same type. Without using named parameter how would the compiler know if the parameter which is being passed by line 5 is the name or the message.&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:d1b8da09-4c97-4cbe-a6b6-7d95a1de394f class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; MAX-HEIGHT: 300px; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(name: &lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name = &lt;SPAN style="COLOR: #a31515"&gt;"Tirza"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; msg = &lt;SPAN style="COLOR: #a31515"&gt;"Hi There"&lt;/SPAN&gt;)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0} !\n{1}"&lt;/SPAN&gt;, name,msg));&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7240573" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/CSharp+4.0/default.aspx">CSharp 4.0</category></item><item><title>What's new in Visual C# 4.0 ?  - Part 1 - Optional parameters</title><link>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx</link><pubDate>Tue, 27 Oct 2009 11:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7240509</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>6</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7240509</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7240509</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/27/what-s-new-in-visual-c-4-0-part-1.aspx#comments</comments><description>&lt;P&gt;This is the first blog from a series of blog post which I'm planning to do on whet’s new in Visual C# 4.0&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Optional parameters&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Optional parameters is a new feature in C# 4.0 which will let you set a default value for an argument of a method. In case that the collie of the method will omit the argument the default value will take its place.&lt;/P&gt;
&lt;P&gt;So instead of writing the following code:&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:b9a4fe88-2321-41dd-955f-d497c9fdc195 class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; WHITE-SPACE: nowrap; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(&lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething()&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #a31515"&gt;"Hi !"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name)&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0}!"&lt;/SPAN&gt;,name));&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;You will only have to write:&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cf5519ae-a1c1-46a4-8a0c-64bfaca6864b class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; WHITE-SPACE: nowrap; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(&lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name = &lt;SPAN style="COLOR: #a31515"&gt;""&lt;/SPAN&gt;)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0}!"&lt;/SPAN&gt;,name));&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The statement &lt;STRONG&gt;name = “” &lt;/STRONG&gt;at line 11 does the trick of the optional parameter with passing and empty string as the optional parameter.&lt;/P&gt;
&lt;P&gt;Note that some of the reader of this post my think that its better to use string.Empty instead of double quote “” as it normally do but :&lt;/P&gt;
&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:eba4909b-7afb-44a9-99c1-e4b6871c74ba class=wlWriterEditableSmartContent&gt;
&lt;DIV style="BORDER-BOTTOM: #000080 1px solid; BORDER-LEFT: #000080 1px solid; FONT-FAMILY: 'Courier New', Courier, Monospace; COLOR: #000; FONT-SIZE: 10pt; BORDER-TOP: #000080 1px solid; BORDER-RIGHT: #000080 1px solid"&gt;
&lt;DIV style="PADDING-BOTTOM: 2px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #000080; COLOR: #fff; FONT-WEIGHT: bold; PADDING-TOP: 2px"&gt;Code Snippet&lt;/DIV&gt;
&lt;DIV style="BACKGROUND: #ddd; OVERFLOW: auto"&gt;
&lt;OL style="PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 2.5em; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; BACKGROUND: #ffffff; PADDING-TOP: 0px"&gt;
&lt;LI&gt;&lt;SPAN style="COLOR: #0000ff"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;Program&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; Main(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;[] args)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething();&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaySomething(&lt;SPAN style="COLOR: #a31515"&gt;"Ohad"&lt;/SPAN&gt;);&lt;/LI&gt;
&lt;LI&gt;&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.ReadLine();&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #0000ff"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;void&lt;/SPAN&gt; SaySomething(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt; name = &lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Empty)&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="COLOR: #2b91af"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR: #0000ff"&gt;string&lt;/SPAN&gt;.Format(&lt;SPAN style="COLOR: #a31515"&gt;"Hi {0}!"&lt;/SPAN&gt;,name));&lt;/LI&gt;
&lt;LI style="BACKGROUND: #f3f3f3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/LI&gt;&lt;/OL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;using string,Empty will result with a compilation error:&lt;/P&gt;
&lt;P&gt;“Default parameter value for 'name' must be a compile-time constant”&lt;/P&gt;
&lt;P&gt;And as it string.Empty is not a literal.&lt;/P&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7240509" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category></item><item><title>Download Visual Studio 2010 Beta 2 (No need for MSDN)</title><link>http://weblogs.asp.net/israelio/archive/2009/10/22/download-visual-studio-2010-beta-2-no-need-for-msdn.aspx</link><pubDate>Thu, 22 Oct 2009 03:46:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7235555</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7235555</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7235555</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/22/download-visual-studio-2010-beta-2-no-need-for-msdn.aspx#comments</comments><description>&lt;p&gt;As for today you can download Visual Studio 2010 Beta 2 even if you don’t have access to MSDN.&lt;/p&gt;  &lt;p&gt;Just follow the links below and download your favorite version.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165573"&gt;Visual Studio 2010 Ultimate (web bootstrapper)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165572"&gt;Visual Studio 2010 Ultimate (.ISO)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165570"&gt;Visual Studio 2010 Premium (web bootstrapper)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165569"&gt;Visual Studio 2010 Premium (.ISO)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165568"&gt;Visual Studio 2010 Professional (web bootstrapper)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165567"&gt;Visual Studio 2010 Professional (.ISO)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165599"&gt;Visual Studio 2010 Remote Debugger&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio Extensibility&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165559"&gt;Visual Studio 2010 Shell (Integrated - redistributable .EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165560"&gt;Visual Studio 2010 Shell (Isolated - redistributable .EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165597"&gt;Visual Studio 2010 SDK (.EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165598"&gt;Visual Studio 2010 DSL SDK (.EXE)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;.NET Framework&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165586"&gt;.NET Framework 4 (web bootstrapper)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165593"&gt;.NET Framework 4 Client Profile (web bootstrapper)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165587"&gt;.NET Framework 4 (redistributable .EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165594"&gt;.NET Framework 4 Client Profile (redistributable .EXE)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Team Foundation Server&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165580"&gt;Visual Studio Team Foundation Server (.ISO)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165583"&gt;Visual Studio Team Explorer (.ISO)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Test Products&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165576"&gt;Visual Studio Test Elements (.ISO)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165579"&gt;Visual Studio Team Lab Management&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=165574"&gt;Visual Studio Team Agents (.ISO)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Express&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=167868"&gt;Visual Basic Express (.EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=167871"&gt;Visual C++ Express (.EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=167872"&gt;Visual C# Express (.EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=167874"&gt;Visual Web Developer Express (.EXE)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=167878"&gt;Express Combo DVD (.ISO)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7235555" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/.NET+General/default.aspx">.NET General</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category></item><item><title>Visual Studio 2010 Training Sources</title><link>http://weblogs.asp.net/israelio/archive/2009/10/22/visual-studio-2010-training-sources.aspx</link><pubDate>Thu, 22 Oct 2009 03:39:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7235549</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7235549</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7235549</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/22/visual-studio-2010-training-sources.aspx#comments</comments><description>&lt;h3&gt;Visual Studio 2010 &amp;amp; .NET Framework 4 Training Kit&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/clip_image002_61719DE0.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" hspace="15" alt="clip_image002" src="http://weblogs.asp.net/blogs/israelio/clip_image002_thumb_3C07AA72.jpg" width="198" height="135" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The October preview of the &lt;strong&gt;Visual Studio 2010 &amp;amp; .NET Framework 4 Training Kit &lt;/strong&gt;which has content that had been tested with Beta 2 is ready for download.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Download:&lt;/b&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=752CB725-969B-4732-A383-ED5740F02E93&amp;amp;displaylang=en"&gt;Visual Studio 2010 and .NET Framework 4 Training Kit&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a name="_Training_Course_on_1"&gt;&lt;/a&gt;Training Course on Channel 9&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/clip_image004_619127D3.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" hspace="15" alt="clip_image004" src="http://weblogs.asp.net/blogs/israelio/clip_image004_thumb_443BD009.jpg" width="198" height="135" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Channel 9 launches an online learning center that will play host to developer focused training courses created by developers for developers.&amp;#160; The videos and labs, with links to extensive training kits, will get you started on hands-on-learning with VS 2010 &amp;amp; .NET 4.0.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Browse:&lt;/b&gt; &lt;a href="http://r.ch9.ms/vs2010b2f"&gt;Visual Studio 2010 and .NET Framework 4 Training Course&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a name="_How_to_Download"&gt;&lt;/a&gt;How to Download and Install Visual Studio 2010 Beta 2&lt;/h3&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/clip_image006_69C54D6A.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image006" border="0" hspace="15" alt="clip_image006" src="http://weblogs.asp.net/blogs/israelio/clip_image006_thumb_284A9B11.gif" width="178" height="135" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-33-Downloading-and-Installing-Visual-Studio-2010-Beta-2/http:/channel9.msdn.com/shows/10-4/10-4-Episode-33-Downloading-and-Installing-Visual-Studio-2010-Beta-2/"&gt;In this episode of 10-4&lt;/a&gt;, Brian Keller takes us through downloading and installing Visual Studio 2010 Ultimate Beta 2 and Visual Studio 2010 Team Foundation Server Beta 2. This time-compressed video will take you through all of the key things you need to know to get up and running quickly with beta 2.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Watch:&lt;/b&gt; &lt;a href="http://channel9.msdn.com/shows/10-4/10-4-Episode-33-Downloading-and-Installing-Visual-Studio-2010-Beta-2/http:/channel9.msdn.com/shows/10-4/10-4-Episode-33-Downloading-and-Installing-Visual-Studio-2010-Beta-2/"&gt;Brian’s 10-4 Episode on Channel9&lt;/a&gt;&lt;a name="_Visual_Studio_2010_1"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7235549" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/israelio/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://weblogs.asp.net/israelio/archive/tags/DEV/default.aspx">DEV</category><category domain="http://weblogs.asp.net/israelio/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://weblogs.asp.net/israelio/archive/tags/TECH/default.aspx">TECH</category><category domain="http://weblogs.asp.net/israelio/archive/tags/VIDEOS/default.aspx">VIDEOS</category></item><item><title>Enable VS 2010 Multi Targeting also for VS2005 C++</title><link>http://weblogs.asp.net/israelio/archive/2009/10/20/enable-vs-2010-multi-targeting-also-for-vs2005-c.aspx</link><pubDate>Tue, 20 Oct 2009 05:56:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7233645</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7233645</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7233645</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/20/enable-vs-2010-multi-targeting-also-for-vs2005-c.aspx#comments</comments><description>&lt;p&gt;One of the big new features for the C++ world in VS 2010 is &amp;quot;native multi-targeting&amp;quot;. &lt;/p&gt;  &lt;p&gt;This means that an MSBuild-based VC project can be built against any set of tools (compilers, linkers, headers, libs, etc). &lt;/p&gt;  &lt;p&gt;VS 2010 ships with support for targeting either the 2010 toolchain or the 2008 toolchain. But the design allows you to target just about any version - and still load and work with it in the VS 2010 IDE.&lt;/p&gt;  &lt;p&gt;Take the attached file that I’ve prepared and open it inside:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;%PROGRAMFILES%\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;And now you will now be able to target to v80 (vs2005) and not just to v90 (vs2008) or v100 (vs2010)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:a6616e38-2b1a-4165-8416-e3a88ed378dd" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://weblogs.asp.net/blogs/israelio/v802_54320B83.zip" target="_blank"&gt;VS2010 Targets to build VC++ 2005&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/israelio/image_342D3A6D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://weblogs.asp.net/blogs/israelio/image_thumb_7597C6F9.png" width="645" height="421" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7233645" width="1" height="1"&gt;</description></item><item><title>Visual Studio 2010 Feature Overview</title><link>http://weblogs.asp.net/israelio/archive/2009/10/19/visual-studio-2010-feature-overview.aspx</link><pubDate>Mon, 19 Oct 2009 20:33:34 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7233241</guid><dc:creator>Ohad Israeli</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.asp.net/israelio/rsscomments.aspx?PostID=7233241</wfw:commentRss><wfw:comment>http://weblogs.asp.net/israelio/commentapi.aspx?PostID=7233241</wfw:comment><comments>http://weblogs.asp.net/israelio/archive/2009/10/19/visual-studio-2010-feature-overview.aspx#comments</comments><description>&lt;p&gt;Microsoft just published collection of walkthroughs for Visual Studio 2010 Beta 2. &lt;/p&gt;  &lt;p&gt;The walkthroughs provide step-by-step instructions for common scenarios in the areas of:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SharePoint Development &lt;/li&gt;    &lt;li&gt;Silverlight and WPF Data Binding &lt;/li&gt;    &lt;li&gt;Core Coding Experience &lt;/li&gt;    &lt;li&gt;Native Development &lt;/li&gt;    &lt;li&gt;Parallel Computing &lt;/li&gt;    &lt;li&gt;Visual Studio Extensibility &lt;/li&gt;    &lt;li&gt;Office Development &lt;/li&gt;    &lt;li&gt;Workflow Foundation &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Check it out over &lt;a href="http://msdn.microsoft.com/en-us/vstudio/dd441784.aspx" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="SharePoint Development in Visual Studio 2010" alt="" align="left" src="http://msdn.microsoft.com/ee676740.SharePoint%20Development%20in%20Visual%20Studio%202010(en-us,MSDN.10).jpg" width="135" height="149" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Silverlight and WPF Data Binding in VS 2010" alt="" align="left" src="http://msdn.microsoft.com/ee676740.Silverlight%20and%20WPF%20Data%20Binding%20in%20VS%202010(en-us,MSDN.10).jpg" width="148" height="149" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Core Coding Experience in Managed Languages" alt="" align="left" src="http://msdn.microsoft.com/ee676740.Core%20Coding%20Experience%20in%20Managed%20Languages(en-us,MSDN.10).jpg" width="177" height="151" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img alt="Visual Studio Extensibility" align="left" src="http://msdn.microsoft.com/ee676740.Visual%20Studio%20Extensibility(en-us,MSDN.10).jpg" width="133" height="127" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Parallel Computing" alt="" align="left" src="http://msdn.microsoft.com/ee676740.Parallel%20Computing(en-us,MSDN.10).jpg" width="123" height="126" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Office Development in Visual Studio 2010" alt="" align="left" src="http://msdn.microsoft.com/ee676740.Office%20Development%20in%20Visual%20Studio%202010(en-us,MSDN.10).jpg" width="122" height="127" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;img title="Workflow Foundation" alt="" align="left" src="http://msdn.microsoft.com/ee676740.Workflow%20Foundation(en-us,MSDN.10).jpg" width="91" height="126" /&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7233241" width="1" height="1"&gt;</description></item></channel></rss>
