<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Technology Rocks</title>
	<atom:link href="http://hemantjain.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://hemantjain.wordpress.com</link>
	<description>Hemant Jain</description>
	<lastBuildDate>Thu, 20 Mar 2008 12:27:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hemantjain.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Technology Rocks</title>
		<link>http://hemantjain.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hemantjain.wordpress.com/osd.xml" title="Technology Rocks" />
	<atom:link rel='hub' href='http://hemantjain.wordpress.com/?pushpress=hub'/>
		<item>
		<title>The Growth of .Net Framework</title>
		<link>http://hemantjain.wordpress.com/2008/03/20/the-growth-of-net-framework/</link>
		<comments>http://hemantjain.wordpress.com/2008/03/20/the-growth-of-net-framework/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 12:24:33 +0000</pubDate>
		<dc:creator>hemantjain</dc:creator>
				<category><![CDATA[VS 2008]]></category>

		<guid isPermaLink="false">http://hemantjain.wordpress.com/?p=15</guid>
		<description><![CDATA[Microsoft .Net has grown with each an every release in terms of number of Assemblies, Namespaces, Types and Members. Here is overview of each and every version of .Net framework. .Net Framework 3.5 Numbers Assemblies 98 Namespaces 309 Types 11417 Members 109657 &#160; .Net Framework 3.0 Numbers Assemblies 80 Namespaces 276 Types 10639 Members 102613 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=15&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align:center;" align="center"><b><span style="font-size:16pt;"> </span></b></p>
<p class="MsoNormal"><b><span style="font-size:16pt;"><span> </span></span></b><span>  </span>Microsoft .Net has grown with each an every release in terms of number of Assemblies, Namespaces, Types and Members. Here is overview of each and every version of .Net framework.</p>
<p class="MsoNormal" style="text-align:center;" align="center"><b><span style="font-size:16pt;"> </span></b></p>
<p class="MsoNormal">
<table class="MsoTableGrid" style="border:medium none;border-collapse:collapse;" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="border:1pt solid windowtext;width:131.4pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><b>.Net Framework 3.5</b></p>
</td>
<td style="width:1.5in;border-color:windowtext windowtext windowtext #000000;border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><b>Numbers </b></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:maroon;">Assemblies</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:maroon;">98</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:blue;">Namespaces</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:blue;">309</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#ff6600;">Types</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#ff6600;">11417</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#333300;">Members</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#333300;">109657</span></p>
</td>
</tr>
</table>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">
<table class="MsoTableGrid" style="border:medium none;border-collapse:collapse;" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="border:1pt solid windowtext;width:131.4pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><b>.Net Framework 3.0</b></p>
</td>
<td style="width:1.5in;border-color:windowtext windowtext windowtext #000000;border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><b>Numbers </b></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:maroon;">Assemblies</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:maroon;">80</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:blue;">Namespaces</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:blue;">276</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#ff6600;">Types</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#ff6600;">10639</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#333300;">Members</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#333300;">102613</span></p>
</td>
</tr>
</table>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">
<table class="MsoTableGrid" style="border:medium none;border-collapse:collapse;" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="border:1pt solid windowtext;width:131.4pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><b>.Net Framework 2.0</b></p>
</td>
<td style="width:1.5in;border-color:windowtext windowtext windowtext #000000;border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><b>Numbers </b></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:maroon;">Assemblies</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:maroon;">51</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:blue;">Namespaces</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:blue;">190</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#ff6600;">Types</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#ff6600;">7419</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#333300;">Members</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#333300;">74607</span></p>
</td>
</tr>
</table>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">
<table class="MsoTableGrid" style="border:medium none;border-collapse:collapse;" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="border:1pt solid windowtext;width:131.4pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><b>.Net Framework 1.1</b></p>
</td>
<td style="width:1.5in;border-color:windowtext windowtext windowtext #000000;border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><b>Numbers </b></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:maroon;">Assemblies</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:maroon;">43</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:blue;">Namespaces</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:blue;">130</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#ff6600;">Types</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#ff6600;">3818</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#333300;">Members</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#333300;">37556</span></p>
</td>
</tr>
</table>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">
<table class="MsoTableGrid" style="border:medium none;border-collapse:collapse;" border="1" cellpadding="0" cellspacing="0">
<tr>
<td style="border:1pt solid windowtext;width:131.4pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><b>.Net Framework 1.0</b></p>
</td>
<td style="width:1.5in;border-color:windowtext windowtext windowtext #000000;border-style:solid solid solid none;border-width:1pt 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><b>Numbers </b></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:maroon;">Assemblies</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:maroon;">41</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:blue;">Namespaces</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:blue;">124</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#ff6600;">Types</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#ff6600;">3581</span></p>
</td>
</tr>
<tr>
<td style="width:131.4pt;border-color:#000000 windowtext windowtext;border-style:none solid solid;border-width:medium 1pt 1pt;padding:0 5.4pt;" valign="top" width="175">
<p class="MsoNormal"><span style="color:#333300;">Members</span></p>
</td>
<td style="width:1.5in;border-color:rgb(0,;border-style:none solid solid none;border-width:medium 1pt 1pt medium;padding:0 5.4pt;" valign="top" width="144">
<p class="MsoNormal"><span style="color:#333300;">35470</span></p>
</td>
</tr>
</table>
<p>Any guesses on how many types will be in .NET Framework next version??</p>
<p class="MsoNormal">&nbsp;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hemantjain.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hemantjain.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hemantjain.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hemantjain.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hemantjain.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=15&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hemantjain.wordpress.com/2008/03/20/the-growth-of-net-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9941ae1663e512e3dba58fd4828ee4d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hemantjain</media:title>
		</media:content>
	</item>
		<item>
		<title>Lambda Expressions</title>
		<link>http://hemantjain.wordpress.com/2007/12/26/lambada-expressions/</link>
		<comments>http://hemantjain.wordpress.com/2007/12/26/lambada-expressions/#comments</comments>
		<pubDate>Wed, 26 Dec 2007 11:11:44 +0000</pubDate>
		<dc:creator>hemantjain</dc:creator>
				<category><![CDATA[VS 2008]]></category>

		<guid isPermaLink="false">http://hemantjain.wordpress.com/2007/12/26/lambada-expressions/</guid>
		<description><![CDATA[Traditional Methods Delegates are defined as &#8220;a reference type that can be used to encapsulate a method with a specific signature&#8221; The use of delegates is involved in event handlers, callbacks, asynchronous calls and multi threading, among other uses. Before C# 2.0, the only way to use delegates was to use named methods. In some [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=14&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p align="left"><u><b>Traditional Methods</b></u></p>
<div align="left"></div>
<p align="left">Delegates are defined as &#8220;a reference type that can be used to encapsulate a method with a specific signature&#8221; The use of delegates is involved in event handlers, callbacks, asynchronous calls and multi threading, among other uses.</p>
<div align="left"></div>
<p align="left">Before C# 2.0, the only way to use delegates was to use named methods. In some cases, this results in forced creation of classes only for using with delegates. In some cases, these classes and methods are never even invoked directly. For example</p>
<div align="left"></div>
<p align="left"><u>Program</u></p>
<div align="left">
<address><font color="#ff0000">using System;</font></address>
<address><font color="#ff0000">using System.Collections.Generic;</font></address>
<address><font color="#ff0000">using System.Text;</font></address>
<address><font color="#ff0000">namespace SimpleMethod</font></address>
<address><font color="#ff0000">{</font></address>
<address><font color="#ff0000">    class Methods</font></address>
<address><font color="#ff0000">    {</font></address>
<address><font color="#ff0000">      static void Main(string[] args)</font></address>
<address><font color="#ff0000">       {</font></address>
<address><font color="#ff0000">        List&lt;string&gt; states = new List&lt;string&gt;();</font></address>
<address><font color="#ff0000">        states.Add(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;MP&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;UP&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;WB&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;JK&#8221;);</font></address>
<address><font color="#ff0000">        string state = states.Find(TN);            </font></address>
<address><font color="#ff0000">        Console.WriteLine(state);</font></address>
<address><font color="#ff0000">        }</font></address>
<address><font color="#ff0000">        Public static bool TN(string name)</font></address>
<address><font color="#ff0000">          {</font></address>
<address><font color="#ff0000">            return name.Equals(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">          }</font></address>
<address><font color="#ff0000">    }</font></address>
<address><font color="#ff0000">}</font></address>
</div>
<p align="left"><u><b>Delegates</b></u></p>
<div align="left"></div>
<p align="left"><b> </b>C# 2.0 offers an elegant solution for these methods described above. Anonymous methods allow declaration of inline methods without having to define a named method. This is very useful, especially in cases where the delegated function requires short and simple code. Anonymous methods can be used anywhere where a delegate type is expected. Anonymous Method declarations consist of the keyword delegate, an optional parameter list and a statement list enclosed in parenthesis.</p>
<div align="left"></div>
<p align="left"><u>Program</u></p>
<div align="left">
<address><font color="#ff0000">using System;</font></address>
<address><font color="#ff0000">using System.Collections.Generic;</font></address>
<address><font color="#ff0000">using System.Text;</font></address>
<address><font color="#ff0000">namespace AnonymousMethods </font></address>
<address><font color="#ff0000">{</font></address>
<address><font color="#ff0000">  class Delegates</font></address>
<address><font color="#ff0000">   {</font></address>
<address><font color="#ff0000">    static void Main(string[] args)</font></address>
<address><font color="#ff0000">      {</font></address>
<address><font color="#ff0000">        List&lt;string&gt; states = new List&lt;string&gt;();</font></address>
<address><font color="#ff0000">        states.Add(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;MP&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;UP&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;WB&#8221;);</font></address>
<address><font color="#ff0000">        states.Add(&#8220;JK&#8221;);</font></address>
<address><font color="#ff0000">        string state = states.Find(delegate(string name)</font></address>
<address><font color="#ff0000">               {</font></address>
<address><font color="#ff0000">                 return name.Equals(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">                });</font></address>
<address><font color="#ff0000">        Console.WriteLine(state);</font></address>
<address><font color="#ff0000">        }</font></address>
<address><font color="#ff0000">    }</font></address>
<address><font color="#ff0000">}</font></address>
</div>
<p align="left">For more on Delegates click <a href="http://msdn.microsoft.com/msdnmag/issues/01/08/Async">here</a>.</p>
<div align="left"></div>
<p align="left"><u><b>Lambda Expressions</b></u></p>
<div align="left"></div>
<p align="left">C# 3.0 and the .NET 3.0 Runtime introduce a more powerful construct that builds on the anonymous method concept. It allows you to pass an inline expression as a delegate, with minimal syntax.</p>
<div align="left">
<address><font color="#ff0000">delegate(string name)</font></address>
<address><font color="#ff0000">{</font></address>
<address><font color="#ff0000"> return name.Equals(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">});</font></address>
</div>
<p align="left">&#8230;we can do this:</p>
<div align="left">
<address><font color="#ff0000">name =&gt; name.Equals(&#8220;TN&#8221;) </font></address>
</div>
<p align="left">The complete program is:</p>
<div align="left"></div>
<p align="left"><u>Program</u></p>
<div align="left">
<address><font color="#ff0000">using System;</font></address>
<address><font color="#ff0000">using System.Collections.Generic;</font></address>
<address><font color="#ff0000">namespace Lambda</font></address>
<address><font color="#ff0000">{</font></address>
<address><font color="#ff0000">    class Program</font></address>
<address><font color="#ff0000">    {</font></address>
<address><font color="#ff0000">      static void Main(string[] args)</font></address>
<address><font color="#ff0000">        {</font></address>
<address><font color="#ff0000">         List&lt;string&gt; states = new List&lt;string&gt;();</font></address>
<address><font color="#ff0000">         states.Add(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">         states.Add(&#8220;MP&#8221;);</font></address>
<address><font color="#ff0000">         states.Add(&#8220;UP&#8221;);</font></address>
<address><font color="#ff0000">         states.Add(&#8220;WB&#8221;);</font></address>
<address><font color="#ff0000">         states.Add(&#8220;JK&#8221;);</font></address>
<address><font color="#ff0000">         string state = states.Find(name =&gt; name.Equals(&#8220;TN&#8221;));</font></address>
<address><font color="#ff0000">         Console.WriteLine(state);</font></address>
<address><font color="#ff0000">        }</font></address>
<address><font color="#ff0000">    }</font></address>
<address><font color="#ff0000">}</font></address>
</div>
<p align="left">It looks shorter and more concise, doesn&#8217;t it? But how does it work? The basic form for a lambda expression is:</p>
<div align="left">
<address><font color="#ff0000"><i>argument-list =</i><i>&gt;</i><i> expression</i></font><code> </code></address>
</div>
<p align="left">In the example above, we have an argument named <code>name</code>, implicitly typed as string, then the lambda operator (<code>=</code>&gt;), then an expression which checks to see whether <code>name</code> is equal to &#8220;TN&#8221;.</p>
<div align="left"></div>
<p align="left">To understand better how the lambda expression syntax differs from the anonymous method syntax, let&#8217;s turn our example anonymous method:</p>
<div align="left">
<address><font color="#ff0000">delegate(string name)</font></address>
<address><font color="#ff0000">{</font></address>
<address><font color="#ff0000"> return name.Equals(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">})</font></address>
</div>
<p align="left">We don&#8217;t need the delegate keyword, so take it out.</p>
<div align="left">
<address><font color="#ff0000">(string name)  {</font></address>
<address><font color="#ff0000"> return name.Equals(&#8220;TN&#8221;);</font></address>
<address><font color="#ff0000">}</font></address>
</div>
<p align="left">Let&#8217;s replace the braces with a <code>=</code>&gt; lambda operator to make it an inline lambda expression.</p>
<div align="left">
<address><font color="#ff0000">(string name)  =&gt; return name.Equals(&#8220;TN&#8221;);</font></address>
</div>
<p align="left">The return keyword isn&#8217;t needed because an expression is always a single line of code that returns a value. Also, remove the semicolon, because name.Equals(&#8220;TN&#8221;) is now an expression, not a full statement.</p>
<div align="left">
<address><font color="#ff0000">(string name)  =&gt; name.Equals(&#8220;TN&#8221;)</font></address>
</div>
<p align="left">The type of the argument can be inferred as well by the compiler, so we can remove the type declaration for the argument.</p>
<div align="left">
<address><font color="#ff0000">name =&gt;name.Equals(&#8220;TN&#8221;)</font></address>
</div>
<p align="left">And there&#8217;s our final lambda expressions.</p>
<div align="left"></div>
<p align="left">Lambda Expressions  are smart enough to infer variable types. The benefit you get with a lambada expressions  you don&#8217;t get from delegates is that the compiler performs automatic type interface on the lambada arguments , so I don&#8217;t even have to mention that <b>name </b>above is string here.</p>
<div align="left"></div>
<p align="left">The big advantage of lambada expression in normal coding is that syntax is more readable and less verbose. This becomes quickly more important  the more complex code becomes.</p>
<div align="left"></div>
<p align="left">For more on Lambda expression click <a href="http://msdn.microsoft.com/msdnmag/issues/07/09/BasicInstincts">here</a>.</p>
<div align="left"></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hemantjain.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hemantjain.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hemantjain.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hemantjain.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hemantjain.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=14&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hemantjain.wordpress.com/2007/12/26/lambada-expressions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9941ae1663e512e3dba58fd4828ee4d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hemantjain</media:title>
		</media:content>
	</item>
		<item>
		<title>Get a Unique ID that suits your personality.</title>
		<link>http://hemantjain.wordpress.com/2007/12/17/get-a-unique-id-that-suits-your-personality/</link>
		<comments>http://hemantjain.wordpress.com/2007/12/17/get-a-unique-id-that-suits-your-personality/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 10:37:44 +0000</pubDate>
		<dc:creator>hemantjain</dc:creator>
				<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://hemantjain.wordpress.com/2007/12/17/get-a-unique-id-that-suits-your-personality/</guid>
		<description><![CDATA[You must try out the new the new COOLHOTMAIL ID..There are pretty interesting options&#8230;Visit the page and see the options Microsoft provides with your account name..<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=13&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You must try out the new the new <a href="http://www.coolhotmail.com/">COOLHOTMAIL ID.</a>.There  are pretty interesting options&#8230;Visit the page and see the options Microsoft provides with your account name..</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hemantjain.wordpress.com/13/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hemantjain.wordpress.com/13/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hemantjain.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hemantjain.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hemantjain.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=13&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hemantjain.wordpress.com/2007/12/17/get-a-unique-id-that-suits-your-personality/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9941ae1663e512e3dba58fd4828ee4d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hemantjain</media:title>
		</media:content>
	</item>
		<item>
		<title>Amazing Tricky Java Script</title>
		<link>http://hemantjain.wordpress.com/2007/12/12/amazing-tricky-java-script/</link>
		<comments>http://hemantjain.wordpress.com/2007/12/12/amazing-tricky-java-script/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 08:36:54 +0000</pubDate>
		<dc:creator>hemantjain</dc:creator>
				<category><![CDATA[Java Script]]></category>

		<guid isPermaLink="false">http://hemantjain.wordpress.com/2007/12/12/amazing-tricky-java-script/</guid>
		<description><![CDATA[Try out this amazing java script on your browser address bar: javascript:function reverse() { var inp = &#8221; mih morf gnihtemoS nraeL !! !&#8230;ylerecnis gnikrow si tnameH woh eeS !!&#8230; !!!krow ruoy oD .!!!!siht rof gniyap ton si YNAPMOC ruoY&#8221;; var outp =&#8221;"; for (i= 0; i &#60;= inp.length;i++) { outp = inp.charAt (i) + [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=12&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Try out this amazing java script on your browser address bar:</p>
<p align="left"><span style="display:block;padding-left:6em;"><span>javascript:function reverse() { var inp = &#8221; mih morf gnihtemoS nraeL !! !&#8230;ylerecnis gnikrow si tnameH woh eeS !!&#8230; !!!krow ruoy oD .!!!!siht rof gniyap ton si YNAPMOC ruoY&#8221;; var outp =&#8221;"; for (i= 0; i &lt;= inp.length;i++) { outp = inp.charAt (i) + outp ; }alert(outp);}; reverse();javascript:function reverse() { var inp = &#8221; mih morf gnihtemoS nraeL !! !&#8230;ylerecnis gnikrow si tnameH woh eeS !!&#8230; !!!krow ruoy oD .!!!!siht rof gniyap ton si YNAPMOC ruoY&#8221;; var outp =&#8221;"; for (i= 0; i &lt;= inp.length;i++) { outp = inp.charAt (i) + outp ; }alert(outp);}; reverse();</span></span></p>
<p>After trying, replace my name with your name.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hemantjain.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hemantjain.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hemantjain.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hemantjain.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hemantjain.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=12&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hemantjain.wordpress.com/2007/12/12/amazing-tricky-java-script/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9941ae1663e512e3dba58fd4828ee4d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hemantjain</media:title>
		</media:content>
	</item>
		<item>
		<title>VS 2008-Extension Methods</title>
		<link>http://hemantjain.wordpress.com/2007/12/05/vs-2008-extension-methods/</link>
		<comments>http://hemantjain.wordpress.com/2007/12/05/vs-2008-extension-methods/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 11:02:36 +0000</pubDate>
		<dc:creator>hemantjain</dc:creator>
				<category><![CDATA[VS 2008]]></category>

		<guid isPermaLink="false">http://hemantjain.wordpress.com/2007/12/05/vs-2008-extension-methods/</guid>
		<description><![CDATA[Extension Methods allows developers to add new methods for an existing CLR type. In simple terms it allows developers to add their own methods without having it to added in class and then calling it using the class object. There are many possible scenarios where such methods are useful. For console applications, the class System.console [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=6&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Extension Methods allows developers to add new methods for an existing CLR type. In simple terms it allows developers to add their own methods without having it to added in class and then calling it using the class object. There are many possible scenarios where such methods are useful.</p>
<p>For console applications, the class System.console takes input type as String only. But a user may not write a value and press enter. Since even space/null  is taken as string value, program needs to check for valid string. Console application do not have method called IsNullOrEmpty() for Strings. So one possible solution is we can use simple extension methods.</p>
<p><font color="#800000"><u>Simple Extension Method Example:</u></font></p>
<p><font color="#333399">namespace TestExtensionMethods<br />
</font></p>
<p><font color="#333399">{ </font></p>
<p><font color="#333399"> class Test</font></p>
<p><font color="#333399">    {<br />
static void Main(string[] args)<br />
{<br />
Console.WriteLine(&#8220;Enter a String&#8221;);<br />
String s=Console.ReadLine()  ;<br />
if (s.IsNullOrEmpty())<br />
{<br />
Console.WriteLine(&#8220;Enter a String to Continue&#8221;);<br />
Console.ReadLine();<br />
}</font></p>
<p><font color="#333399">}<br />
}</font></p>
<p><font color="#333399">  public static class Extensions<br />
{<br />
public static bool IsNullOrEmpty(this string s)<br />
{</font></p>
<p><font color="#333399">return (s == null || s.Trim().Length == 0);<br />
}<br />
}</font></p>
<p><font color="#333399">} </font></p>
<p>The &#8220;this&#8221;  keyword in the argument of our extension method tells the compiler to add this particular extension method to object of type String. So when i hint &#8220;.&#8221; keyword on my string variable, my extension variable will show  up in the intellisense drop down list .</p>
<p><img src="http://hemantjain.files.wordpress.com/2007/12/ramtest.jpg?w=450" alt="ramtest.jpg" /></p>
<p>The extension methods need to be static methods in static class within a namespace that is in the scope as shown above in code.<br />
<font color="#800000"><u></u></font></p>
<p><font color="#800000"><u> When to use Them</u></font><br />
We must only convert the most reusable code into extension method, so that it provides greater flexibility in handling code and improved readability. Extension methods can be used for any data type where reusablity  of methods exists.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/hemantjain.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/hemantjain.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hemantjain.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hemantjain.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hemantjain.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hemantjain.wordpress.com&amp;blog=1650248&amp;post=6&amp;subd=hemantjain&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hemantjain.wordpress.com/2007/12/05/vs-2008-extension-methods/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/9941ae1663e512e3dba58fd4828ee4d0?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hemantjain</media:title>
		</media:content>

		<media:content url="http://hemantjain.files.wordpress.com/2007/12/ramtest.jpg" medium="image">
			<media:title type="html">ramtest.jpg</media:title>
		</media:content>
	</item>
	</channel>
</rss>
