tag:blogger.com,1999:blog-137418352024-03-08T15:06:49.212-08:00random notesUnknownnoreply@blogger.comBlogger17125tag:blogger.com,1999:blog-13741835.post-80532580774727125202014-02-09T08:18:00.000-08:002014-02-09T08:22:14.366-08:00How we built EventNook to provide a scable event software platform<h3>
What's EventNook? </h3>
<a href="http://www.eventnook.com/" target="_blank">EventNook </a>is an online software as a service (SAAS) platform which provides a self-service online event registration and event ticketing platform for event organizers to easily create an event website, registration form and ticketing in minutes and launch event ticketing site immediately. <br />
<br />
First, <a href="http://www.bizspark.com/" target="_blank">Microsoft Bizspark</a> is an awesome program which helps us tremendously for software and cloud services we need by offering them FREE!<br />
<br />
We build our platform on Microsoft stack ASP.NET MVC!<br />
<h3>
<b>Cloud Services we use</b> </h3>
<b>Cloud Hosting</b><br />
Azure Cloud Services - provides load balanced virtual web servers which allows you to scale up and down as and when you need! <br />
<br />
<b>Backend Database & Storage</b><br />
SQL Azure <br />
Azure Table <br />
Azure Blob<br />
Amazon S3<br />
Dropbox<br />
<br />
<b>Scheduler</b><br />
<a href="http://www.windowsazure.com/en-us/services/scheduler/" target="_blank">Azure Scheduler</a><b> - </b>backend scheduler processes<br />
<br />
<b>Email Services</b><br />
<a href="http://sendgrid.com/" target="_blank">SendGrid</a> - SMTP/API email service<br />
<br />
<b>Analytics Tool</b><br />
<a href="http://www.google.com.sg/analytics/" target="_blank">Google Analytics</a> - website analytic tool for traffic & online marketing analysis<br />
<br />
<br />
<br />
<br />
<br />Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-13741835.post-39710727307507864172013-05-29T08:47:00.001-07:002013-05-29T08:47:21.803-07:00Google Apps Developer Blog: 4 ways to do Mail Merge using Google Apps Script<a href="http://googleappsdeveloper.blogspot.com/2011/10/4-ways-to-do-mail-merge-using-google.html?spref=bl">Google Apps Developer Blog: 4 ways to do Mail Merge using Google Apps Script</a>: Editor’s Note: This blog post is co-authored by James, Steve and Romain who are Google Apps Script top contributors. -- Ryan Boyd The Goog...Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-75667301829839706922012-05-19T07:45:00.003-07:002012-05-19T09:38:42.619-07:00Future of EducationInternet is changing everything in our life. Now, everything we want to know, we can find any information at our fingertip. The changes are happening faster than ever. That also means things we learned and our skills are becoming outdated faster than ever. In future, 4 years learning period in University will be too long to equip students with skills required by the market out there. By the time they graduated, their skills will be more or less outdated.<br />
<br />
On the other hand, we can learn almost anything in internet at our fingertip with interactive multimedia such as video, slides, interactive tutorials, etc on any subjects in Youtube, iTune, Vimeo, eBooks, Learnign app on smart devices, etc. Obviously, the habits of self-study and adoption play more and more important roles for our survival or to keep ourself useful in society.<br />
<br />
It starts happening now that we can learn things from the best teachers in the world in anywhere at any time, of course FREE EDUCATION too.<br />
<br />
Here is one of the best example: <a href="http://www.khanacademy.org/">http://www.khanacademy.org/</a><br />
Here is the discussions about future of education by game changers<br />
<a href="http://www.eventnook.com/video/v/92/Microsoft-CEO-Summit-Innovation-in-Education">http://www.eventnook.com/video/v/92/Microsoft-CEO-Summit-Innovation-in-Education</a><br />
<a href="http://www.eventnook.com/video/v/90/Rethinking-Learning-with-Salman-Khan">http://www.eventnook.com/video/v/90/Rethinking-Learning-with-Salman-Khan</a><br />
<a href="http://www.eventnook.com/video/v/92/Microsoft-CEO-Summit-Innovation-in-Education"></a><br />
<a name='more'></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-43656657365936352302011-12-27T22:53:00.000-08:002011-12-27T22:53:01.158-08:00oEmbed format makes content in your site easy to share<a href="http://www.oembed.com/">oEmbed</a> is a format for allowing an embedded representation of a URL on third party sites.<br />
<br />
<b>What does it mean?</b><br />
For example, if you are sharing the youtube in Facebook status, you simply copy and paste the youtube Url and Facebook app knows how to embed it nicely with preview picture and video description.<br />
<br />
<b>What does it mean for developer?</b><br />
You can apply it for two things.<br />
1> If you are trying to make sharing the contents in your site easy for users to allow them to share and embed in other sites, you can implement oEmbed API service interface for others sites to consume it.<br />
2> If you are trying to allow users to embed contents in other sites like Youtube, Flickr, etc in your site, you can consume API interface of those sites which provides the oEmbed data for you to nicely present them in your site.<br />
<br />
To find out more:<br />
<a href="http://www.oembed.com/">http://www.oembed.com</a>
<br />
<a href="http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html">http://engineering.twitter.com/2010/09/tech-behind-new-twittercom.html</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-4020476485036920482011-07-31T10:40:00.001-07:002011-08-02T10:48:00.906-07:00DLL missing with .RDLC ReportViewer deployment on Microsoft Azure hosting<div class="WordSection1"><div class="MsoNormal">I hit problem deploying my asp.net web app using .rdlc ReportViewer when I deployed it to azure cloud hosting. <o:p></o:p></div><div class="MsoNormal">The problem was because of the three missing dependency dlls required by ReportViewer which doesn’t exist in Azure host Global assembly cache(GAC).</div><div class="MsoNormal"></div><ol><li><b>Microsoft.ReportViewer.WebForms.dll</b> </li>
<li><b>Microsoft.ReportViewer.Common.dll</b></li>
<li><b>Microsoft.ReportViewer.ProcessingObjectModel.dll</b></li>
</ol><br />
<div class="MsoNormal">So, make sure the ReportViewer assemblies are available locally for your application. You can do this by "Add Reference" in your project and configure them to be copied locally into bin folder (Copy Local = True).<o:p></o:p></div><div class="MsoNormal"><br />
</div><div class="MsoNormal">But for the 3rd dll (Microsoft.ReportViewer.ProcessingObjectModel.dll), you will not be able to find it from assemblies list in Visual Studio add reference. You will need to browse it in C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel and add reference</div><div class="MsoNormal"><br />
</div><div class="MsoNormal">Here is reference I got from MSDN<o:p></o:p></div><div class="MsoNormal"><a href="http://msdn.microsoft.com/en-us/library/gg430128.aspx">http://msdn.microsoft.com/en-us/library/gg430128.aspx</a><o:p></o:p></div><div class="MsoNormal"><br />
</div></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-13741835.post-51317723328327636192009-11-16T01:41:00.000-08:002009-11-16T01:45:17.063-08:00Think DifferentApple "Think Different" advertising slogan! It's pretty inspiring.<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/No1MxAnHuJM&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/No1MxAnHuJM&color1=0xb1b1b1&color2=0xcfcfcf&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-47517581303682452472008-10-03T00:33:00.000-07:002008-10-03T00:35:26.425-07:00ASP.NET 2.0 Membership provider<div class="Section1"><p class="MsoNormal">ASP.NET 2.0 membership provider have been for more than 2 years and initially, I thought it’s just a show off feature of ASP.NET 2.0 and that would not be practically useful before I explored it into detail. <?xml:namespace prefix = o /><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>From time to time, every asp.net web application requires membership, authentication, authorization, etc, it’s a waste of time that we don’t have reusable model for those even though every web application requires those functions. So, I started exploring what’s available in built in ASP.NET Microsoft model and how others people do in terms of reusable model or provider for this. <o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>Then, I found out that ASP.NET membership is really good design even though it may not be 100% perfect. It's really customizable, robust, extendable, easily pluggable and also easier to integrate into the project without much efforts. I’m not sure whether it’s good enough for enterprise level website for millions of users but it’s pretty good enough for SME or normal web application.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>This really saves 20% to 30 % of small and medium side web application development and the code is modular and reusable. I really loves it. <o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>This can be easily integrated with Menu SiteMap navigation based on dynamic user roles, User Roles provider, Personalization and the provider can be plugged & play with custom own provider by just configuring in web.config. <o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>Currently, I'm just using built in SqlMembershipProvider and I handle my own Users information table for extended fields of users. The drawback with this is I need to duplicate user record in my own user table whenever new record in membership table is created.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>You can also create your own custom membership provider by deriving from MembershipProvider class and override methods. <o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>Microsoft also provides the source code and it can be learned how their code is. By learning this, you can probably design better than what it has and which suits to your requirement as well.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p> The following links would be useful for getting started. <o:p></o:p></p><p class="MsoNormal"><a href="http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx">http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx</a><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>Providers Source code download<o:p></o:p></p><p class="MsoNormal"><a href="http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx">http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx</a><o:p></o:p></p><p class="MsoNormal"> <a href="http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi">http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi</a><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>ASP.NET Provider Detail Explanation<o:p></o:p></p><p class="MsoNormal"><a href="http://msdn.microsoft.com/en-us/library/aa478948.aspx">http://msdn.microsoft.com/en-us/library/aa478948.aspx</a><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p>ASP.NET Provider book<o:p></o:p></p><p class="MsoNormal"><a href="http://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf">http://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf</a><o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p></div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-13741835.post-71994653546873718632008-07-03T08:41:00.001-07:002008-07-03T08:42:49.033-07:00MasterPage.master.cs does not exist error<div class="Section1"><p class="MsoNormal">I got the very weird error with ASP.NET 2.0 deployment. It has been running well in my development machine. Then, I published my test WebApplication project from visual studio to make release the compiled dll so that the application can be run on server without deploying .cs source code files. But after published it, the system gave the error “MasterPage.master.cs does not exist”.<?xml:namespace prefix = o /><o:p></o:p></p><p class="MsoNormal">It was very weird and it tempted to me considering whether it’s because “.cs” files are also required to deploy. But if that’s was the case, what’s the point of publishing?<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">After a while, then I finally realised that MasterPage I created doesn’t have <b>namespace. <o:p></o:p></b></p><p class="MsoNormal"><b><o:p> </o:p></b></p><p class="MsoNormal">After I added namespace in masterpage.master.cs file and published it again. Then, It was fine.<o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal">In ASP.NET 2.0, it seems like <o:p></o:p></p><p class="MsoNormal">- WebApplication project requires to have namespace for every class in the project if you deploy the system by publishing (.dll and aspx only).<o:p></o:p></p><p class="MsoNormal">- WebSite project, it seems doesn’t require to have namespace even though if you deploy it by publishing. <o:p></o:p></p><p class="MsoNormal"><o:p> </o:p></p><p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><span style="font-family:'Verdana','sans-serif';font-size:18;color:red;">Server Error in '/WebAppTest' Application. <o:p></o:p></span></p><div class="MsoNormal" style="TEXT-ALIGN: center; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="center"><span style="font-family:'Verdana','sans-serif';font-size:18;color:red;"><hr style="COLOR: silver" align="center" width="100%" size="1"></span></div><p class="MsoNormal" style="mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"><i><span style="font-family:'Verdana','sans-serif';font-size:14;color:maroon;">Parser Error</span></i><span style="font-family:'Verdana','sans-serif';font-size:14;color:maroon;"> <o:p></o:p></span></p><p class="MsoNormal" style="MARGIN-BOTTOM: 12pt"><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;">Description: </span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;">An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.<br /><br /></span><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;">Parser Error Message: </span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;">The file '/WebAppTest/MasterPage.master.cs' does not exist.<br /><br /></span><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;">Source Error:</span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;"> <o:p></o:p></span></p><table class="MsoNormalTable" style="BACKGROUND: #ffffcc; WIDTH: 100%" cellpadding="0" width="100%" border="0"><tbody><tr><td style="PADDING-RIGHT: 0.75pt; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; PADDING-TOP: 0.75pt"><p class="MsoNormal"><span style="font-family:'Lucida Console';font-size:9;color:black;"><o:p> </o:p></span></p><p class="MsoNormal"><span style="font-family:'Lucida Console';font-size:9;color:red;">Line 1: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="</span><b><span style="BACKGROUND: yellow; mso-highlight: yellowfont-family:'Lucida Console';color:red;" >MasterPage</span></b><span style="font-family:'Lucida Console';font-size:9;color:red;">" %><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Lucida Console';font-size:9;color:black;">Line 2: <o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal" style="MARGIN-BOTTOM: 12pt"><span style="font-family:'Arial','sans-serif';font-size:8;color:black;"><br /></span><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;">Source File: </span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;">/LEGATOTest3/WebAppTest.master</span><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;"> Line: </span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;">1 <o:p></o:p></span></p><div class="MsoNormal" style="TEXT-ALIGN: center" align="center"><span style="font-family:'Arial','sans-serif';font-size:8;color:black;"><hr style="COLOR: silver" align="center" width="100%" size="1"></span></div><p class="MsoNormal"><b><span style="font-family:'Verdana','sans-serif';font-size:8;color:black;">Version Information:</span></b><span style="font-family:'Arial','sans-serif';font-size:8;color:black;"> Microsoft .NET Framework Version:2.0.50727.1434; ASP.NET Version:2.0.50727.1434</span><o:p></o:p></p></div>Unknownnoreply@blogger.com17tag:blogger.com,1999:blog-13741835.post-59993868662467340112008-06-11T20:21:00.000-07:002008-06-15T01:02:08.812-07:00ASP.NET Menu & DataSetI had a requirement to build dynamic configurable menu and data will be populated from database rather than web.sitemap. And also the menu must support unlimited hierarchical levels. And also this piece of code must be reusable.<br /><br />My idea was to bind the menu directly with dataset but unfortunately, dataset is not inherited and implemented IHierarchicalDataSource and it throws the exception. So, I tend to do traditional way of by adding menuItem in the loop. I know this is not a good idea and there must be someone who already implmented the neater way of binding directly by tweaking the dataset as the ASP.NET Menu has been released since 2 or 3 years ago.<br /><br />Just a couple minutes spending on google and found this which is neater code and better design.<br /><br /><a href="http://aspalliance.com/822">http://aspalliance.com/822</a><br /><br />By using XMLDataSource and XSLT, this support unlimited hierarchical levels and only a few line of codes and clean.<br /><br />Just have a look that above link if you are looking for building dynamic menu, it's worth to look it at.<br /><br />Cheers<br /><br /><a href="http://dotnet.kick.sg/kick.aspx?url=http://kyawlo.blogspot.com/2008/06/aspnet-menu-dataset.html"><img src="http://dotnet.kick.sg/Services/Images/KickItImageGenerator.ashx?url=http://kyawlo.blogspot.com/2008/06/aspnet-menu-dataset.html" border="0" alt="kick it on DotNet" /></a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-13741835.post-41357770456364597582007-12-08T09:10:00.001-08:002007-12-08T09:55:52.670-08:00Google Chart<div class="Section1"><p class="MsoNormal"><br />Google released Chart API which lets your web page to generate the Chart dynamically. Several types of image can be generated: line, bar, and pie charts for example. For each image type you can specify attributes such as size, colors, and labels.<br /><br /><strong><u>How it works </u></strong><br />- Request the url with chart parameters in query string, Google will response the “png” image chart.<br />E.g. <a href="http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello-YWorld-X">http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello-YWorld-X</a><br />- Use with <img> tag<br />E.g. <img src="http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello-Y|World-X" /></IMG<><br /><img src="http://chart.apis.google.com/chart?cht=p3&chd=s:hW&chs=250x100&chl=Hello-Y|World-X" /></img><br /><br /><strong><u>Usage Policy<br /></u></strong>The Use of the Google Chart API is free but it is subject to a query limit of 50,000 queries per user per day. If you go over this 24-hour limit, the Chart API may stop working for you temporarily. If you continue to exceed this limit, your access to the Chart API may be blocked.<br /><br /><strong><u>URL format </u></strong><br />Google Chart API URLs must be in the following format:<br /><a href="http://chart.apis.google.com/chart">http://chart.apis.google.com/chart</a>?<br /><span style="color:#33cc00;">chs=200x125<br />&chd=s:helloWorld<br />&cht=lc<br />&chxt=x,y<br />&chxl=0:|Mar|Apr|May|June|July|1:||50+Kb</span><br /><br /><em>Where:<br /></em>· <a href="http://chart.apis.google.com/chart">http://chart.apis.google.com/chart</a>? is the Chart API's location.<br />· & separates parameters.<br />· chs=200x125 is the chart's size in pixels.<br />· chd=s:helloWorld is the chart's data.<br />· cht=lc is the chart's type.<br />· chxt=x,y indicates both x-axis and y-axis labels are required.<br />· chxl=0:|Mar|Apr|May|June|July|1:||50+Kb are the x-axis and y-axis labels.<br /><br /><img src="http://chart.apis.google.com/chart?chs=200x125&chd=s:helloWorld&cht=lc&chxt=x,y&chxl=0:|Mar|Apr|May|June|July|1:||50+Kb" alt="Sample chart" style="BORDER-RIGHT: #dddddd 1px solid; BORDER-TOP: #dddddd 1px solid; BORDER-LEFT: #dddddd 1px solid; BORDER-BOTTOM: #dddddd 1px solid" /><br /><br /><strong>Reference: </strong><br /><a href="http://code.google.com/apis/chart/">http://code.google.com/apis/chart/</a><br />Other Resources:<br />.Net server controls for google chart - <a href="http://pietschsoft.com/Blog/Post.aspx?PostID=1429">http://pietschsoft.com/Blog/Post.aspx?PostID=1429</a><br /><br />Have a nice day!</p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-61779459230955257762007-12-05T01:41:00.001-08:002007-12-09T21:53:43.239-08:00What's New in .Net 3.5<div class="Section1"><p class="MsoNormal"><span style="font-family:'Georgia','serif';">I have been checking about recently released .net 3.5 in these few days and there are many really pretty exciting features out there and also practically useful, applicable, lesser lines of code required and more productive in day to day works. I would say that Microsoft really made another major mile stone with .net framework achievement.<?xml:namespace prefix = o /><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';">here are a few features I learned from the blogs and communities.<o:p></o:p></span></p><ol><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span style="font-family:'Georgia','serif';">Implicitly Type Local variables<o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span style="font-family:'Georgia','serif';">Anonymous Types<o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span style="font-family:'Georgia','serif';">Automatic Properties, Object Initializers, and Collection Initializers<o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span style="font-family:'Georgia','serif';">Extension Methods<o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span lang="EN" style="font-family:'Georgia','serif';">Lambda Expressions ( => )</span><span style="font-family:'Georgia','serif';"><o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span lang="EN" style="font-family:'Georgia','serif';">Language Integrated Query (LINQ)</span><span style="font-family:'Georgia','serif';"><o:p></o:p></span></div></li><li><div class="MsoListParagraph" style="TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><span style="font-family:'Georgia','serif';"><span style="mso-list: Ignore"><span style="FONT: 7pt 'Times New Roman'"></span></span></span><span lang="EN" style="font-family:'Georgia','serif';">LINQ to SQL </span><span style="font-family:'Georgia','serif';"><o:p></o:p></span></div></li></ol><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><strong><u><span style="font-family:'Georgia','serif';color:#990000;">1.Implicitly Type Local variables</span></u></strong><u><span style="font-family:'Georgia','serif';"><o:p></o:p></span></u></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Local variables can be given an inferred "type" of <b>var</b> instead of an explicit type. The var keyword instructs the compiler to infer the type of the variable from the expression on the right side of the initialization statement.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><i><span style="font-family:'Georgia','serif';font-size:9;">Compiler works for you to convert to the right type during compilation and so, from IL perspective, it sees as the type converted by compiler.<o:p></o:p></span></i></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// i is compiled as an int</span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var i = 5;<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// s is compiled as a string</span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var s = </span><span style="font-family:'Courier New';font-size:9;color:darkred;">"Hello"</span><span style="font-family:'Courier New';font-size:9;color:#000066;">;<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// a is compiled as int[]</span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var a = </span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">new</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;">[] { 0, 1, 2 };<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// expr is compiled as IEnumerable<Customer></span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var expr =<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"></span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">from</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> c </span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">in</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> customers<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"></span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">where</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> c.City == </span><span style="font-family:'Courier New';font-size:9;color:darkred;">"London"</span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"></span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">select</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> c;<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// anon is compiled as an anonymous type</span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var anon = </span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">new</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> { Name = </span><span style="font-family:'Courier New';font-size:9;color:darkred;">"Terry"</span><span style="font-family:'Courier New';font-size:9;color:#000066;">, Age = 34 };<o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:darkgreen;">// list is compiled as List<int> </span><span style="font-family:'Courier New';font-size:9;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:9;color:#000066;">var list = </span><b><span style="font-family:'Courier New';font-size:9;color:#871f78;">new</span></b><span style="font-family:'Courier New';font-size:9;color:#000066;"> List<int>();<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><strong><u><span style="font-family:'Georgia','serif';color:#990000;">2.Anonymous Types</span></u></strong><u><span style="font-family:'Georgia','serif';"><o:p></o:p></span></u></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Anonymous types are a convenient language feature of C# and VB that enable developers to concisely define inline CLR types within code, without having to explicitly define a formal class declaration of the type. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Anonymous types are particularly useful when querying and transforming/projecting/shaping data with <a href="http://en.wikipedia.org/wiki/Language_Integrated_Query">LINQ</a>.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 526.1pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="701"><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><span style="color:blue;">var</span> person = <span style="color:blue;">new</span> { FirstName = <span style="color:#a31515;">"Kyaw"</span>, LastName=<span style="color:#a31515;">"Oo"</span>, BirthPlace=<span style="color:#a31515;">"Yangon"</span> };<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;">Response.Write(person.FirstName);</span><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';">For more detail, read <a href="http://weblogs.asp.net/scottgu/archive/2007/05/15/new-orcas-language-feature-anonymous-types.aspx">here</a>. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';"><o:p></o:p></span></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;">3.Automatic Properties, Object Initializers, and Collection Initializers<o:p></o:p></span></u></b></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Isn’t it cool if you can write the class like below without requiring the private member and the compiler will automatically create the private members and map these to properties?<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">No need to declare private member and compiler will do it for you. But later if you want to modify the property for adding extra validation codes, you still can do without breaking to the client codes.<o:p></o:p></span></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';font-size:10;color:#17365d;">Automatic Properties</span></u></b><span style="font-family:'Georgia','serif';font-size:9;color:#17365d;"><o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"><span style="color:blue;">public class </span><span style="color:black;">Person {<o:p></o:p></span></span></p><p class="MsoNormal" style="BACKGROUND: #f7f7ff"><span style="font-family:'Courier New';font-size:10;color:darkgreen;">// Auto-implemented properties</span><span style="font-family:'Courier New';font-size:10;color:#000066;"><o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;"></span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">public string </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">FirstName { </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">get; set; </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">}<br /></span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">public string </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">LastName { </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">get; private set; </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">} //Read Only<br /></span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">public int </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">Age { </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">get; set; </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">}<br />}</span><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';font-size:10;color:#17365d;">Object Initializers</span></u></b><span style="font-family:'Georgia','serif';font-size:9;color:#17365d;"><o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Georgia','serif';font-size:10;">New alternative way of initializing the object. Cool, huh?<o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 484.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="646"><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"><span style="color:black;">Person person </span><span style="color:blue;">= new </span><span style="color:black;">Person { FirstName</span><span style="color:blue;">=</span><span style="color:gray;">"Scott"</span><span style="color:black;">, LastName</span><span style="color:blue;">=</span><span style="color:gray;">"Guthrie"</span><span style="color:black;">, Age</span><span style="color:blue;">=</span><span style="color:maroon;">32 </span><span style="color:black;">}</span><span style="color:blue;">;</span></span><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';font-size:10;color:#17365d;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';font-size:10;color:#17365d;">Collection Initializers<o:p></o:p></span></u></b></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:9;color:#17365d;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><img id="Picture_x0020_3" height="125" src="cid:image002.jpg@01C83766.182D6840" width="663" border="0" /></span><span lang="EN" style="font-family:'Courier New';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';">For more detail, read <a href="http://weblogs.asp.net/scottgu/archive/2007/03/08/new-c-orcas-language-features-automatic-properties-object-initializers-and-collection-initializers.aspx">here</a>.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><b><u><span lang="EN" style="font-family:'Georgia','serif';color:#943634;">4.Extension Methods</span></u></b><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p></o:p></span></u></b></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">In old days, you will write your validation codes like below. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">string </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">email </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">= </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">Request.QueryString[</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:gray;">"email"</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">]</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">;<br />if </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">( EmailValidator.IsValid(email) ) {<br />}</span><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Have you ever thought about that you could write something like in C#, VB.NET? Now, it’s possible in .Net 3.5 . <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;color:blue;">string</span><span style="font-family:'Courier New';font-size:10;"> email = </span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">Request.QueryString[</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:gray;">"email"</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:black;">]</span><span lang="EN" style="font-family:'Courier New';font-size:10;color:blue;">;<br /></span><span style="font-family:'Courier New';font-size:10;">if(<span style="color:red;">email.IsValidEmailAddress()</span>) {<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;">}</span><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';">For more detail, read <a href="http://weblogs.asp.net/scottgu/archive/2007/03/13/new-orcas-language-feature-extension-methods.aspx">here</a>.<o:p></o:p></span></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;">5.Lambda Expression ( “=>” )<o:p></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">The => token is called the lambda operator. It is used in lambda expressions to separate the input variables on the left side from the lambda body on the right side. Lambda expressions are inline expressions similar to anonymous methods but more flexible; they are used extensively in LINQ queries that are expressed in method syntax.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;color:blue;">string</span><span style="font-family:'Courier New';font-size:10;">[] words = { <span style="color:#a31515;">"cherry"</span>, <span style="color:#a31515;">"apple"</span>, <span style="color:#a31515;">"blueberry"</span> };<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;color:blue;">int</span><span style="font-family:'Courier New';font-size:10;"> shortestWord = words.Min(w => w.Length);</span><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">The => operator is read as "goes to." In the previous example, the expression is read as “Min w goes to w dot Length”.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">The => operator has the same precedence as the assignment operator (=) and is right-associative. <o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><table class="MsoTableGrid" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellspacing="0" cellpadding="0" border="1"><tbody><tr><td style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: black 1pt solid; WIDTH: 6.65in; PADDING-TOP: 0in; BORDER-BOTTOM: black 1pt solid" valign="top" width="638"><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;color:blue;">public</span><span style="font-family:'Courier New';font-size:10;"> <span style="color:blue;">class</span> <span style="color:#2b91af;">Person<o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;">{<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><span style="color:blue;">public</span> <span style="color:blue;">string</span> FirstName { <span style="color:blue;">get</span>; <span style="color:blue;">set</span>; }<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><span style="color:blue;">public</span> <span style="color:blue;">string</span> LastName { <span style="color:blue;">get</span>; <span style="color:blue;">set</span>; }<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;"><span style="color:blue;">public</span> <span style="color:blue;">int</span> Age { <span style="color:blue;">get</span>; <span style="color:blue;">set</span>; }<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Courier New';font-size:10;">}<o:p></o:p></span></p></td></tr></tbody></table><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><img id="Picture_x0020_2" height="215" src="cid:image006.jpg@01C83766.182D6840" width="667" border="0" /></span></u></b><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;">6.Language Integrated Query (LINQ) <o:p></o:p></span></u></b></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">This is the most productive and very useful feature in .Net 3.5 and it gives the developer to save the tremendous development time on data access layer codes.<o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">Language Integrated Query (LINQ, pronounced "link") is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages using a syntax reminiscent of SQL.<o:p></o:p></span></p><p class="MsoNormal"><a href="http://en.wikipedia.org/wiki/Language_Integrated_Query"><span style="font-size:85%;">http://en.wikipedia.org/wiki/Language_Integrated_Query</span></a></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;"><o:p><span style="TEXT-DECORATION: none"></span></o:p></span></u></b></p><p class="MsoNormal"><b><u><span style="font-family:'Georgia','serif';color:#943634;">7.LINQ to SQL<o:p></o:p></span></u></b></p><p class="MsoNormal"><span style="font-family:'Georgia','serif';font-size:10;">This is how LINQ supported for SQL database. The following link will give you the comprehensive detail of LINQ – SQL insight.<o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"><a href="http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx">http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx</a><o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"><o:p></o:p></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;"></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;">For further reading:</span></p><p class="MsoNormal"><span style="font-family:Courier New;font-size:7;"><a href="http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx">http://weblogs.asp.net/scottgu/archive/2007/11/19/visual-studio-2008-and-net-3-5-released.aspx</a></span></p><p class="MsoNormal"><span style="font-family:Courier New;font-size:7;"><a href="http://resharper.blogspot.com/2007/10/c-30-automatic-properties-incomplete.html">http://resharper.blogspot.com/2007/10/c-30-automatic-properties-incomplete.html</a></span></p><p class="MsoNormal"><span style="font-family:Courier New;font-size:7;"></span></p><p class="MsoNormal"><span lang="EN" style="font-family:'Courier New';font-size:10;">Have a nice day!<o:p></o:p></span></p></div><br /><a href="http://www.dotnetkicks.com/kick/?url=http://kyawlo.blogspot.com/2007/12/net-35-and-vsnet-2008.html"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fkyawlo.blogspot.com" border="0" alt="kick it on DotNetKicks.com" /></a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-13741835.post-84415370142861590882007-11-29T19:27:00.000-08:002008-02-17T22:38:57.309-08:00Daily references for .net developer<strong><u>Developer reference</u></strong><br />All about microsoft SDK is here<br /><a href="http://msdn.microsoft.com/library">http://msdn.microsoft.com/library</a><br />If you are looking for something which guides you best practices which will bring you next level of your code quality, here you go.<br /><a href="http://www.guidancelibrary.com/">http://www.guidancelibrary.com/</a><br /><br /><strong><u>Javascript/HTML/XML Guide</u></strong><br /><a href="http://developer.mozilla.org/en/docs/Main_Page">http://developer.mozilla.org/en/docs/Main_Page</a><br /><br /><strong><u>Best developer Tools I like</u></strong><br /><br /><strong><u>1. Code generation tools</u></strong><br /><a href="http://www.mygenerationsoftware.com/">www.mygenerationsoftware.com/</a><br /><br /><strong><u>2. HTML/HTTP Hacks</u></strong> (Web Development Helper)<br /><a href="http://www.nikhilk.net/Project.WebDevHelper.aspx">http://www.nikhilk.net/Project.WebDevHelper.aspx</a><br /><a href="http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038&displaylang=en</a><br /><a href="https://addons.mozilla.org/en-US/firefox/addon/60">https://addons.mozilla.org/en-US/firefox/addon/60</a> (For Firefox)<br /><br />3. Javascript compression tool<br /><a href="http://shrinksafe.dojotoolkit.org/">http://shrinksafe.dojotoolkit.org/</a><br /><br />4. File/Folder comparison (source diff)<br /><a href="http://www.sourcegear.com/diffmerge/downloads.html">http://www.sourcegear.com/diffmerge/downloads.html</a><br />I will update this post when I have time later.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-1121823036296210092005-07-19T18:30:00.000-07:002005-07-19T18:32:05.686-07:00Cool Microsoft Visual Source Safe Web Interface<div class="Section1"><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">Are you a user of Microsoft VSS 6? If so, you might sometimes feel that VSS is able to work only at the office LAN environment and <?xml:namespace prefix = o /><o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">it’s really a big limitation for the ones who want to work at home smartly or who are away from office. <o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">For this potential barrier, ComponentWorkshop produced the VSS Web Interface and it can be able to work through internet. <o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">That is really nice and cool one. <o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">Just check it here. <o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Times New Roman;font-size:100%;"><span style="font-size:12;">http://www.componentworkshop.com/Default.aspx?cid=440<o:p></o:p></span></span></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-1121735811224573042005-07-18T18:16:00.000-07:002005-07-18T18:16:51.233-07:00MSF For CMMI process improvement...Microsoft released the process how the coming VS.Net 2005 studio Team system can be applied in the CMMI level organizations...Although the organization is not CMMI one, it can also practice the best software development practices by using MSF model and VS.Net 2005 team system. This process work flows and explanation are explained in the following download.<br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=10B578F1-B7A4-459F-A783-04BC82CB2359&displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=10B578F1-B7A4-459F-A783-04BC82CB2359&displaylang=en</a><br />Just download it and have fun. :)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-1120148863935249052005-06-30T09:27:00.000-07:002005-06-30T09:27:43.940-07:00Hey...This is a testingThis is a testing.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-1119320273126949992005-06-20T19:17:00.000-07:002005-06-30T08:51:15.316-07:00Microsoft Tech-Ed 2005 Webcasts<div class="Section1"><p class="MsoNormal"><span style="font-family:Verdana;font-size:78%;"><span style="font-family:Verdana;font-size:9;">Microsoft has just published downloads for the web casts of </span></span><span style="font-family:Verdana;font-size:78%;"><span style="font-family:Verdana;font-size:9;">Microsoft Tech·Ed 2005 in <?xml:namespace prefix = st1 /><st1:place st="on"><st1:city st="on">Orlando</st1:city>, <st1:state st="on">Florida</st1:state></st1:place></span></span><span style="font-family:Verdana;font-size:78%;"><span style="font-family:Verdana;font-size:9;">.<?xml:namespace prefix = o /><o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Verdana;font-size:78%;"><span style="font-family:Verdana;font-size:9;">Just check it here. <o:p></o:p></span></span></p><p class="MsoNormal"><span style="font-family:Verdana;font-size:78%;"><span style="font-family:Verdana;font-size:9;">http://www.microsoft.com/events/series/teched2005.mspx<o:p></o:p></span></span></p></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-13741835.post-1118993756666281802005-06-17T00:34:00.000-07:002005-06-17T00:35:56.670-07:00The first day to Google blogHiUnknownnoreply@blogger.com0