<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0YCSHg4eip7ImA9WhRRFEk.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201</id><updated>2011-11-27T16:46:09.632-08:00</updated><category term="C#" /><category term="Master Page" /><category term=".Net 2.0" /><category term="C# Keyword differences" /><category term="SQl Server" /><category term="General" /><category term="Asp.net-Ajax" /><category term="Events and Delegates" /><category term="OOPS" /><category term="Web Services" /><category term=".Net" /><category term=".Net 3.0 features" /><category term="ASP.Net" /><category term="VB Keyword differences" /><category term="SQl Server Performance" /><category term="Questions And Answers" /><category term="Design Patterns" /><category term="Oracle DataBase" /><category term=".Net 3.5 features" /><category term="Infragistics" /><title>Dhinesh Paramasivam</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://iyngarangce.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>28</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DhineshParamasivam" /><feedburner:info uri="dhineshparamasivam" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUMARX0-fCp7ImA9Wx9SGEU.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-387381933597664780</id><published>2010-12-09T00:26:00.000-08:00</published><updated>2010-12-09T00:30:44.354-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-09T00:30:44.354-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net 3.5 features" /><category scheme="http://www.blogger.com/atom/ns#" term=".Net 2.0" /><title>How to Use IDisposable Pattern</title><content type="html">public class DisposeObject : IDisposable&lt;br /&gt;    {&lt;br /&gt;        #region Members&lt;br /&gt;&lt;br /&gt;        private bool _disposed = false;&lt;br /&gt;&lt;br /&gt;        #endregion&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;        #region IDisposable Members&lt;br /&gt; &lt;br /&gt;        ~DisposeObject()&lt;br /&gt;        {&lt;br /&gt;            Dispose(false);&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;        /// &lt;summary&gt;&lt;br /&gt;        /// Dispose the current object&lt;br /&gt;        /// &lt;/summary&gt;&lt;br /&gt;        public void Dispose()&lt;br /&gt;        {&lt;br /&gt;            Dispose(true);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        private void Dispose(bool disposing)&lt;br /&gt;        {&lt;br /&gt;            if (!_disposed)&lt;br /&gt;            {&lt;br /&gt;                if (disposing)&lt;br /&gt;                {&lt;br /&gt;                    // clean up resources&lt;br /&gt;&lt;br /&gt;                    CleanUp();&lt;br /&gt;&lt;br /&gt;                    // The object will be cleaned up only if the method&lt;br /&gt;                    // gets true - we are in the Dispose method.&lt;br /&gt;                    // Therefore, you should call GC.SupressFinalize to&lt;br /&gt;                    // take this object off the finalization queue&lt;br /&gt;                    // and prevent finalization code for this object&lt;br /&gt;                    // from executing a second time. &lt;br /&gt;                    // Taken from MSDN.&lt;br /&gt;                    GC.SuppressFinalize(this);&lt;br /&gt;                }&lt;br /&gt;                // dispose occurred&lt;br /&gt;                _disposed = true;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        private void CleanUp()&lt;br /&gt;        {&lt;br /&gt;            // put here the code to dispose all managed&lt;br /&gt;            // and unmanaged resources&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        #endregion&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-387381933597664780?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/S5aFWDr9sihlLOx3hG6NArvpAfo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S5aFWDr9sihlLOx3hG6NArvpAfo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/S5aFWDr9sihlLOx3hG6NArvpAfo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/S5aFWDr9sihlLOx3hG6NArvpAfo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/Ha0KF9pyRFk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/387381933597664780/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=387381933597664780" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/387381933597664780?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/387381933597664780?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/Ha0KF9pyRFk/how-to-use-idisposable-pattern.html" title="How to Use IDisposable Pattern" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/12/how-to-use-idisposable-pattern.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEECR3YzcCp7ImA9WxBbE00.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-5095507756281564604</id><published>2010-03-11T02:17:00.001-08:00</published><updated>2010-03-11T02:17:46.888-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T02:17:46.888-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Events and Delegates" /><title>Events and Delegates</title><content type="html">&lt;strong&gt;The very basic Delegate &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;An interesting and useful property of a delegate is that it does not know or care about the class of the object that it references. Any object will do; all that matters is that the method's argument types and return type match the delegate's. This makes delegates perfectly suited for "anonymous" invocation. &lt;br /&gt;&lt;br /&gt;The signature of a single cast delegate is shown below: &lt;br /&gt;&lt;br /&gt;delegate result-type identifier ([parameters]); &lt;br /&gt;&lt;br /&gt;where: &lt;br /&gt;&lt;br /&gt;result-type: The result type, which matches the return type of the function. &lt;br /&gt;identifier: The delegate name. &lt;br /&gt;parameters: The Parameters, that the function takes. &lt;br /&gt;Examples: &lt;br /&gt;&lt;br /&gt;public delegate void SimpleDelegate () &lt;br /&gt;&lt;br /&gt;This declaration defines a delegate named SimpleDelegate, which will encapsulate any method that takes&lt;br /&gt;no parameters and returns no value. &lt;br /&gt; &lt;br /&gt;public delegate int ButtonClickHandler (object obj1, object obj2) &lt;br /&gt;&lt;br /&gt;This declaration defines a delegate named ButtonClickHandler, which will encapsulate any method that takes&lt;br /&gt;two objects as parameters and returns an int. &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;A delegate will allow us to specify what the function we'll be calling looks like without having to specify which function to call. The declaration for a delegate looks just like the declaration for a function, except that in this case, we're declaring the signature of functions that this delegate can reference. &lt;br /&gt;&lt;br /&gt;There are three steps in defining and using delegates: &lt;br /&gt;&lt;br /&gt;Declaration &lt;br /&gt;Instantiation &lt;br /&gt;Invocation &lt;br /&gt;A very basic example (SimpleDelegate1.cs): &lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace Akadia.BasicDelegate&lt;br /&gt;{&lt;br /&gt;    // Declaration&lt;br /&gt;    public delegate void SimpleDelegate();&lt;br /&gt;&lt;br /&gt;    class TestDelegate&lt;br /&gt;    {&lt;br /&gt;        public static void MyFunc()&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine("I was called by delegate ...");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public static void Main()&lt;br /&gt;        {&lt;br /&gt;            // Instantiation&lt;br /&gt;            SimpleDelegate simpleDelegate = new SimpleDelegate(MyFunc);&lt;br /&gt;&lt;br /&gt;            // Invocation&lt;br /&gt;            simpleDelegate();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Compile an test: &lt;br /&gt;&lt;br /&gt;# csc SimpleDelegate1.cs&lt;br /&gt;# SimpleDelegate1.exe&lt;br /&gt;I was called by delegate ... &lt;br /&gt;&lt;br /&gt;Calling Static Functions &lt;br /&gt;&lt;br /&gt;For our next, more advanced example (SimpleDelegate2.cs), declares a delegate that takes a single string parameter and has no return type: &lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;&lt;br /&gt;namespace Akadia.SimpleDelegate&lt;br /&gt;{&lt;br /&gt;    // Delegate Specification&lt;br /&gt;    public class MyClass&lt;br /&gt;    {&lt;br /&gt;        // Declare a delegate that takes a single string parameter&lt;br /&gt;        // and has no return type.&lt;br /&gt;        public delegate void LogHandler(string message);&lt;br /&gt;&lt;br /&gt;        // The use of the delegate is just like calling a function directly,&lt;br /&gt;        // though we need to add a check to see if the delegate is null&lt;br /&gt;        // (that is, not pointing to a function) before calling the function.&lt;br /&gt;        public void Process(LogHandler logHandler)&lt;br /&gt;        {&lt;br /&gt;            if (logHandler != null)&lt;br /&gt;            {&lt;br /&gt;                logHandler("Process() begin");&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            if (logHandler != null)&lt;br /&gt;            {&lt;br /&gt;                logHandler ("Process() end");&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // Test Application to use the defined Delegate&lt;br /&gt;    public class TestApplication&lt;br /&gt;    {&lt;br /&gt;        // Static Function: To which is used in the Delegate. To call the Process()&lt;br /&gt;        // function, we need to declare a logging function: Logger() that matches&lt;br /&gt;        // the signature of the delegate.&lt;br /&gt;        static void Logger(string s)&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine(s);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            MyClass myClass = new MyClass();&lt;br /&gt;&lt;br /&gt;            // Crate an instance of the delegate, pointing to the logging function.&lt;br /&gt;            // This delegate will then be passed to the Process() function.&lt;br /&gt;            MyClass.LogHandler myLogger = new MyClass.LogHandler(Logger);&lt;br /&gt;            myClass.Process(myLogger);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Compile an test: &lt;br /&gt;&lt;br /&gt;# csc SimpleDelegate2.cs&lt;br /&gt;# SimpleDelegate2.exe&lt;br /&gt;Process() begin&lt;br /&gt;Process() end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-5095507756281564604?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BIlsKGutWOjY73Fec2Zzqa6kiwc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BIlsKGutWOjY73Fec2Zzqa6kiwc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BIlsKGutWOjY73Fec2Zzqa6kiwc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BIlsKGutWOjY73Fec2Zzqa6kiwc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/8ivL3IPiuro" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/5095507756281564604/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=5095507756281564604" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5095507756281564604?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5095507756281564604?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/8ivL3IPiuro/events-and-delegates_11.html" title="Events and Delegates" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/03/events-and-delegates_11.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIFSHs-eCp7ImA9WxBbE00.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-3662647050680976331</id><published>2010-03-11T02:01:00.000-08:00</published><updated>2010-03-11T02:15:19.550-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T02:15:19.550-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Events and Delegates" /><title>Events and Delegates</title><content type="html">Simple Event &lt;br /&gt;Let's modify our logging example from above to use an event rather than a delegate: &lt;br /&gt;using System;&lt;br /&gt;using System.IO;&lt;br /&gt;&lt;br /&gt;namespace Akadia.SimpleEvent&lt;br /&gt;{&lt;br /&gt;    /* ========= Publisher of the Event ============== */&lt;br /&gt;    public class MyClass&lt;br /&gt;    {&lt;br /&gt;        // Define a delegate named LogHandler, which will encapsulate&lt;br /&gt;        // any method that takes a string as the parameter and returns no value&lt;br /&gt;        public delegate void LogHandler(string message);&lt;br /&gt; &lt;br /&gt;        // Define an Event based on the above Delegate&lt;br /&gt;        public event LogHandler Log;&lt;br /&gt;  &lt;br /&gt;        // Instead of having the Process() function take a delegate&lt;br /&gt;        // as a parameter, we've declared a Log event. Call the Event,&lt;br /&gt;        // using the OnXXXX Method, where XXXX is the name of the Event.&lt;br /&gt;        public void Process()&lt;br /&gt;        {&lt;br /&gt;            OnLog("Process() begin");&lt;br /&gt;            OnLog("Process() end");&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        // By Default, create an OnXXXX Method, to call the Event&lt;br /&gt;        protected void OnLog(string message)&lt;br /&gt;        {&lt;br /&gt;            if (Log != null)&lt;br /&gt;            {&lt;br /&gt;                Log(message);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    // The FileLogger class merely encapsulates the file I/O&lt;br /&gt;    public class FileLogger&lt;br /&gt;    {&lt;br /&gt;        FileStream fileStream;&lt;br /&gt;        StreamWriter streamWriter;&lt;br /&gt; &lt;br /&gt;        // Constructor&lt;br /&gt;        public FileLogger(string filename)&lt;br /&gt;        {&lt;br /&gt;            fileStream = new FileStream(filename, FileMode.Create);&lt;br /&gt;            streamWriter = new StreamWriter(fileStream);&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        // Member Function which is used in the Delegate&lt;br /&gt;        public void Logger(string s)&lt;br /&gt;        {&lt;br /&gt;            streamWriter.WriteLine(s);&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        public void Close()&lt;br /&gt;        {&lt;br /&gt;            streamWriter.Close();&lt;br /&gt;            fileStream.Close();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;    /* ========= Subscriber of the Event ============== */&lt;br /&gt;    // It's now easier and cleaner to merely add instances&lt;br /&gt;    // of the delegate to the event, instead of having to&lt;br /&gt;    // manage things ourselves&lt;br /&gt;    public class TestApplication&lt;br /&gt;    {&lt;br /&gt;        static void Logger(string s)&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine(s);&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            FileLogger fl = new FileLogger("process.log");&lt;br /&gt;            MyClass myClass = new MyClass();&lt;br /&gt; &lt;br /&gt;            // Subscribe the Functions Logger and fl.Logger&lt;br /&gt;            myClass.Log += new MyClass.LogHandler(Logger);&lt;br /&gt;            myClass.Log += new MyClass.LogHandler(fl.Logger);&lt;br /&gt;&lt;br /&gt;            // The Event will now be triggered in the Process() Method&lt;br /&gt;            myClass.Process();&lt;br /&gt; &lt;br /&gt;            fl.Close();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;} &lt;br /&gt;Compile an test: &lt;br /&gt;# csc SimpleEvent.cs&lt;br /&gt;# SimpleEvent.exe&lt;br /&gt;Process() begin&lt;br /&gt;Process() end&lt;br /&gt;# cat process.log&lt;br /&gt;Process() begin&lt;br /&gt;Process() end&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-3662647050680976331?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z65z2cxvPaD0wxl_HIr56ujvucs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z65z2cxvPaD0wxl_HIr56ujvucs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z65z2cxvPaD0wxl_HIr56ujvucs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z65z2cxvPaD0wxl_HIr56ujvucs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/0xrW9lSMGVA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/3662647050680976331/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=3662647050680976331" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/3662647050680976331?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/3662647050680976331?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/0xrW9lSMGVA/events-and-delegates.html" title="Events and Delegates" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/03/events-and-delegates.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EBRXY5cCp7ImA9WxBUFEk.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7631803749987633601</id><published>2010-03-01T05:15:00.000-08:00</published><updated>2010-03-01T05:20:54.828-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-01T05:20:54.828-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQl Server Performance" /><title>Transact-SQL Optimization Tips.</title><content type="html">Here are fourteen little known tips that you can use to ensure your Transact-SQL queries are performing in the most efficient manner possible.
&lt;br /&gt;
&lt;br /&gt;&lt;strong&gt;1. Try to restrict the queries result set by using the WHERE clause.&lt;/strong&gt;
&lt;br /&gt;This can result in a performance benefit, as SQL Server will return to the client only particular rows, not all rows from the table(s). This can reduce network traffic and boost the overall performance of the query.
&lt;br /&gt;&lt;strong&gt;2. Try to restrict the queries result set by returning only the particular columns from the table, not all the table's columns. &lt;/strong&gt;
&lt;br /&gt;This can result in a performance benefit as well, because SQL Server will return to the client only particular columns, not all the table's columns. This can reduce network traffic and boost the overall performance of the query.
&lt;br /&gt;&lt;strong&gt;3. Use views and stored procedures instead of heavy-duty queries.&lt;/strong&gt;
&lt;br /&gt;This can reduce network traffic as your client will send to the server only stored procedures or view name (perhaps with some parameters) instead of large heavy-duty queries text. This can be used to facilitate permission management also, because you can restrict user access to table columns they should not see.
&lt;br /&gt;&lt;strong&gt;4. Whenever possible, try to avoid using SQL Server cursors.&lt;/strong&gt;
&lt;br /&gt;SQL Server cursors can result in some performance degradation in comparison with select statements. Try to use correlated subquery or derived tables, if you need to perform row-by-row operations.
&lt;br /&gt;&lt;strong&gt;5. If you need to return the total table's row count, you can use an alternative way instead of the SELECT COUNT(*) statement.&lt;/strong&gt;
&lt;br /&gt;Because the SELECT COUNT(*) statement makes a full table scan to return the total table's row count, it can take an extremely long time for large tables. There is another way to determine the total row count in a table. In this case, you can use the sysindexes system table. There is a ROWS column in the sysindexes table. This column contains the total row count for each table in your database. So, you can use the following select statement instead of SELECT COUNT(*):
&lt;br /&gt;SELECT rows FROM sysindexes WHERE id = OBJECT_ID('table_name') AND in did &amp;lt; href="http://www.mssqlcity.com/Articles/KnowHow/RowCount.htm"&amp;gt; Alternative way to get the table's row count.&lt;/a&gt;
&lt;br /&gt;&lt;strong&gt;6. Try to use constraints instead of triggers, whenever possible.&lt;/strong&gt;
&lt;br /&gt;Constraints are much more efficient than triggers and can boost performance. So, whenever possible, you should use constraints instead of triggers.
&lt;br /&gt;&lt;strong&gt;7. Use table variables instead of temporary tables.&lt;/strong&gt;
&lt;br /&gt;Table variables require fewer locking and logging resources than temporary tables, so table variables should be used whenever possible. The table variables are available in SQL Server 2000 only.
&lt;br /&gt;&lt;strong&gt;8. Try to avoid the HAVING clause, whenever possible.&lt;/strong&gt;
&lt;br /&gt;The HAVING clause is used to restrict the result set returned by the GROUP BY clause. When you use GROUP BY with the HAVING clause, the GROUP BY clause divides the rows into sets of grouped rows and aggregates their values, and then the HAVING clause eliminates undesired aggregated groups. In many cases, you can write your select statement so that they will contain only WHERE and GROUP BY clauses without the HAVING clause. This can improve the performance of your query.
&lt;br /&gt;&lt;strong&gt;9. Whenever possible, try to avoid using the DISTINCT clause.&lt;/strong&gt;
&lt;br /&gt;Because using the DISTINCT clause will result in some performance degradation, you should use this clause only when it is absolutely necessary.
&lt;br /&gt;&lt;strong&gt;10. Include SET NOCOUNT ON statement into your stored procedures to stop the message indicating the number of rows affected by a T-SQL statement.&lt;/strong&gt;
&lt;br /&gt;This can reduce network traffic, as your client will not receive the message indicating the number of rows affected by a T-SQL statement.
&lt;br /&gt;&lt;strong&gt;11. Use select statements with the TOP keyword or the SET ROWCOUNT statement if you need to return only the first n rows.&lt;/strong&gt;
&lt;br /&gt;This can improve performance of your queries, as a smaller result set will be returned. This can also reduce the traffic between the server and the clients.
&lt;br /&gt;&lt;strong&gt;12. Use the FAST number_rows table hint if you need to quickly return 'number_rows' rows.
&lt;br /&gt;&lt;/strong&gt;You can quickly get the n rows and can work with them when the query continues execution and produces its full result set.
&lt;br /&gt;&lt;strong&gt;13. Try to use UNION ALL statement instead of UNION, whenever possible.&lt;/strong&gt;
&lt;br /&gt;The UNION ALL statement is much faster than UNION, because UNION ALL statement does not look for duplicate rows, while the UNION statement does look for duplicate rows, whether they exist or not.
&lt;br /&gt;&lt;strong&gt;14. Do not use optimizer hints in your queries.&lt;/strong&gt;
&lt;br /&gt;Because the SQL Server query optimizer is very clever, it is highly unlikely that you can optimize your query by using optimizer hints; more often than not, this will hurt performance.
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7631803749987633601?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/m73b9e8NmuEhv2CbEumUCy8gNSY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m73b9e8NmuEhv2CbEumUCy8gNSY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/m73b9e8NmuEhv2CbEumUCy8gNSY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/m73b9e8NmuEhv2CbEumUCy8gNSY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/b-oYKk5z23I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7631803749987633601/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7631803749987633601" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7631803749987633601?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7631803749987633601?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/b-oYKk5z23I/transact-sql-optimization-tips.html" title="Transact-SQL Optimization Tips." /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/03/transact-sql-optimization-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMHRn44fSp7ImA9WxBUEUo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-8774690543643153269</id><published>2010-02-26T01:25:00.000-08:00</published><updated>2010-02-26T01:27:17.035-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T01:27:17.035-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Questions And Answers" /><title>Difference b/w UDFs and Stored Procedures</title><content type="html">1&gt;Procedure can return zero or n values whereas function can return one value which is mandatory.&lt;br /&gt;2&gt;Procedures can have input,output parameters for it whereas functions can have only input parameters.&lt;br /&gt;3&gt;Procedure allow select as well as DML statement in it whereas function allow only select statement in it.&lt;br /&gt;4&gt;Functions can be called from procedure whereas procedures cannot be called from function.&lt;br /&gt;5&gt;Exception can be handled by try-catch block in a procedure whereas try-catch block cannot be used in a function.&lt;br /&gt;6&gt;We can go for transaction management in procedure whereas we can't go in function.&lt;br /&gt;7&gt;Procedures can not be utilized in a select statement whereas function can be embedded in a select statement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-8774690543643153269?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V6IAGN7kj3d0xvhaklk4Dm3Je2Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V6IAGN7kj3d0xvhaklk4Dm3Je2Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V6IAGN7kj3d0xvhaklk4Dm3Je2Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V6IAGN7kj3d0xvhaklk4Dm3Je2Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/NXw4T-XdZL0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/8774690543643153269/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=8774690543643153269" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8774690543643153269?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8774690543643153269?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/NXw4T-XdZL0/difference-bw-udfs-and-stored.html" title="Difference b/w UDFs and Stored Procedures" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/02/difference-bw-udfs-and-stored.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYDQX8ycSp7ImA9WxBWEk0.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-5266560488069311130</id><published>2010-02-03T05:31:00.000-08:00</published><updated>2010-02-03T06:09:30.199-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-03T06:09:30.199-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OOPS" /><title>Static Constructor limitations</title><content type="html">&lt;span style="font-weight: bold;"&gt;Example:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;      static void Main(string[] args)&lt;br /&gt;      {&lt;br /&gt;         C Obj = new C();  &lt;br /&gt;         C.C1();&lt;br /&gt;         Console.ReadKey();&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public static class DHINESH&lt;br /&gt;  {&lt;br /&gt;      static DHINESH()&lt;br /&gt;      {&lt;br /&gt;          DHINESH1();&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      static void DHINESH1()&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public class A&lt;br /&gt;  {&lt;br /&gt;      public A()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is A");&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      static A()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is static A");&lt;br /&gt;      }     &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public class B : A&lt;br /&gt;  {&lt;br /&gt;      public B()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is B");&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      static B()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is static B");&lt;br /&gt;      }    &lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public class C : B&lt;br /&gt;  {&lt;br /&gt;      public C()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is C");&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      static C()&lt;br /&gt;      {&lt;br /&gt;          Console.WriteLine("This is static C");&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      public static void C1()&lt;br /&gt;      {&lt;br /&gt;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Result:&lt;/span&gt;&lt;br /&gt;--&gt;When we instantiate a Class like this C Obj = new C();  &lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;The output is : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is static C&lt;br /&gt;This is static B&lt;br /&gt;This is static A&lt;br /&gt;This is A&lt;br /&gt;This is B&lt;br /&gt;This is C&lt;br /&gt;&lt;br /&gt;--&gt;When we instantiate a Class like this&lt;br /&gt;&lt;br /&gt;C Obj = new C();  &lt;br /&gt;C Obj1 = new C();&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;The output is : &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is static C&lt;br /&gt;This is static B&lt;br /&gt;This is static A&lt;br /&gt;This is A&lt;br /&gt;This is B&lt;br /&gt;This is C&lt;br /&gt;This is A&lt;br /&gt;This is B&lt;br /&gt;This is C&lt;br /&gt;&lt;br /&gt;--&gt;When we  call a static method like this C.C1();&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The output is:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is static C&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Limitations of Static constructor:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. We cannot specify access modifier.&lt;br /&gt;2. We cannot use any parameter.&lt;br /&gt;3. Static constructor will be executing only once and also very first instance of the class.&lt;br /&gt;4. When any static method of the class is being called the static constructor will be executing at first call itself.&lt;br /&gt;5.We can use only static members or variables inside the static constructor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-5266560488069311130?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4wpHnNp4DY8T6R0NP9UEo-h_s2E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4wpHnNp4DY8T6R0NP9UEo-h_s2E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4wpHnNp4DY8T6R0NP9UEo-h_s2E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4wpHnNp4DY8T6R0NP9UEo-h_s2E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/mcBOoc7a-dk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/5266560488069311130/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=5266560488069311130" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5266560488069311130?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5266560488069311130?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/mcBOoc7a-dk/static-constructor-limitations.html" title="Static Constructor limitations" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/02/static-constructor-limitations.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIDQXc8eip7ImA9WxBWEU8.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-635845270405323985</id><published>2010-02-02T07:11:00.000-08:00</published><updated>2010-02-02T07:12:50.972-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-02T07:12:50.972-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net" /><title>How to restrict back button in asp.net.</title><content type="html">We have come across the problem while clicking on the back button in the browser.&lt;br /&gt;&lt;br /&gt;we shouldn't load the page again when we click on the back button.&lt;br /&gt;&lt;br /&gt;Below code it will hide the back button.  This is also one of the security leavl have to&lt;br /&gt;&lt;br /&gt;follow in the transaction pages.&lt;br /&gt;&lt;br /&gt;       Response.Buffer = true;&lt;br /&gt;          Response.CacheControl = "no-cache";&lt;br /&gt;          Response.Cache.SetNoStore();&lt;br /&gt;          Response.Cache.SetCacheability(HttpCacheability.NoCache);&lt;br /&gt;          Response.Cache.SetExpires(DateTime.Now.AddDays(-1));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-635845270405323985?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TQdIjUomo_2P7lZOA1GhJgZrQi8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQdIjUomo_2P7lZOA1GhJgZrQi8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TQdIjUomo_2P7lZOA1GhJgZrQi8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TQdIjUomo_2P7lZOA1GhJgZrQi8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/Rfh5s6vQQMk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/635845270405323985/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=635845270405323985" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/635845270405323985?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/635845270405323985?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/Rfh5s6vQQMk/how-to-restrict-back-button-in-aspnet.html" title="How to restrict back button in asp.net." /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/02/how-to-restrict-back-button-in-aspnet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkIBQ3kyeCp7ImA9WxBWEU0.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7443575812785153294</id><published>2010-02-02T01:49:00.000-08:00</published><updated>2010-02-02T01:55:52.790-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-02T01:55:52.790-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Design Patterns" /><title>Design Patterns</title><content type="html">&lt;span style="font-weight: bold;font-family:arial;" &gt;Creational Patterns&lt;/span&gt;&lt;span style="font-family:arial;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Abstract Factory:&lt;/span&gt;    Creates an instance of several families of classes&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Builder:&lt;/span&gt;    &lt;/span&gt;Separates object construction from its representation&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Factory Method:&lt;/span&gt;    Creates an instance of several derived classes&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Prototype:    &lt;/span&gt;A&lt;span style="font-style: italic;"&gt; &lt;/span&gt;fully initialized instance to be copied or cloned&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Singleton&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    A class of which only a single instance can exist&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-family:arial;"&gt;Structural Patterns&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Adapter&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    Match interfaces of different classes&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Bridge:&lt;/span&gt; &lt;/span&gt;   Separates an object’s interface from its implementation&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Composite:&lt;/span&gt;    A tree structure of simple and composite objects&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Decorator&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    Add responsibilities to objects dynamically&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Facade&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;: &lt;/span&gt;   A single class that represents an entire subsystem&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Flyweight:&lt;/span&gt;    A fine-grained instance used for efficient sharing&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Proxy&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    An object representing another object&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Behavioral Patterns&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Chain of Resp:&lt;/span&gt;    A way of passing a request between a chain of objects&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Command&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;: &lt;/span&gt;   Encapsulate a command request as an object&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Interpreter:&lt;/span&gt;    A way to include language elements in a program&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Iterator&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    Sequentially access the elements of a collection&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Mediator:&lt;/span&gt;    Defines simplified communication between classes&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Memento&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    Capture and restore an object's internal state&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Observer&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;:&lt;/span&gt;    A way of notifying change to a number of classes&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;State&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;: &lt;/span&gt;   Alter an object's behavior when its state changes&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Strategy&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;:&lt;/span&gt;    Encapsulates an algorithm inside a class&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Template:&lt;/span&gt; Method    Defer the exact steps of an algorithm to a subclass&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Visitor:&lt;/span&gt;    Defines a new operation to a class without change&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7443575812785153294?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BnwAoG5jUtt8B_04uIa5IrCAsM4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BnwAoG5jUtt8B_04uIa5IrCAsM4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BnwAoG5jUtt8B_04uIa5IrCAsM4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BnwAoG5jUtt8B_04uIa5IrCAsM4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/lYISnr1P7IU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7443575812785153294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7443575812785153294" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7443575812785153294?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7443575812785153294?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/lYISnr1P7IU/design-patterns.html" title="Design Patterns" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/02/design-patterns.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYCRHw9eyp7ImA9WxBRFko.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7460684629044184584</id><published>2010-01-04T22:38:00.000-08:00</published><updated>2010-01-04T22:49:25.263-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-04T22:49:25.263-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net-Ajax" /><title>Sys.StringBuilder Class in Ajax</title><content type="html">&amp;lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax_StringBuilder.aspx.cs" Inherits="Ajax_StringBuilder" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&lt;br /&gt;&amp;lt;head runat="server"&amp;gt;&lt;br /&gt;    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;    &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;    &amp;lt;asp:ScriptManager runat="server" ID="ScriptManager1"&amp;gt;&lt;br /&gt;       &amp;lt;/asp:ScriptManager&amp;gt;&lt;br /&gt;&lt;br /&gt;       &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt;            function buildAString(title){&lt;br /&gt;                var headTagStart = "&amp;lt;head&amp;gt;";&lt;br /&gt;                var headTagEnd = "&amp;lt;/head&amp;gt;";&lt;br /&gt;                var titleTagStart = "&amp;lt;title&amp;gt;";&lt;br /&gt;                var titleTagEnd = "&amp;lt;/title&amp;gt;";&lt;br /&gt;&lt;br /&gt;                var sb = new Sys.StringBuilder(this._headTagStart);&lt;br /&gt;                Sys.Application.add_load(load);&lt;br /&gt;                sb.append(titleTagEnd);&lt;br /&gt;                sb.append(title);&lt;br /&gt;                sb.append(titleTagEnd);&lt;br /&gt;                sb.append(headTagEnd);&lt;br /&gt;                // Displays: "The result: &amp;lt;head&amp;gt;&amp;lt;title&amp;gt;A Title&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;"&lt;br /&gt;                //alert("The result" + sb.toString()); &lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            var title = "A Title";&lt;br /&gt;            buildAString(title);&lt;br /&gt;            function load()&lt;br /&gt;            {&lt;br /&gt;              &lt;br /&gt;            }&lt;br /&gt;        &amp;lt;/script&amp;gt;&lt;br /&gt;        &amp;lt;asp:TextBox ID="txtTest" runat="server"&amp;gt;&amp;lt;/asp:TextBox&amp;gt;&lt;br /&gt;        &lt;br /&gt;        &amp;lt;%&lt;br /&gt;            Application.Add("Counter", 1);&lt;br /&gt;            Application["Counter"] = (int)Application["Counter"] + 1;&lt;br /&gt;         %&amp;gt;&lt;br /&gt;    &amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7460684629044184584?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i2ZVxr_dVUzskr3yr8LdNDb-weo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i2ZVxr_dVUzskr3yr8LdNDb-weo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i2ZVxr_dVUzskr3yr8LdNDb-weo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i2ZVxr_dVUzskr3yr8LdNDb-weo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/UnVYcwvTBnQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7460684629044184584/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7460684629044184584" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7460684629044184584?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7460684629044184584?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/UnVYcwvTBnQ/stringbuilder-class-in-ajax.html" title="Sys.StringBuilder Class in Ajax" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2010/01/stringbuilder-class-in-ajax.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04BQ38zeip7ImA9WxBTGUo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-8301365715683605699</id><published>2009-12-14T03:14:00.000-08:00</published><updated>2009-12-16T05:59:12.182-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-16T05:59:12.182-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net-Ajax" /><title>ICallbackEventHandler Sample</title><content type="html">&lt;span style="font-weight: bold;"&gt;.ASPX Page&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cdhineshp%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C03%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style=""&gt;&lt;span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;font-family:&amp;quot;;font-size:10;"  &gt;&lt;%&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;@&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; &lt;span style="color: rgb(163, 21, 21);"&gt;Page&lt;/span&gt; &lt;span style="color:red;"&gt;Language&lt;/span&gt;&lt;span style="color:blue;"&gt;="C#"&lt;/span&gt; &lt;span style="color:red;"&gt;AutoEventWireup&lt;/span&gt;&lt;span style="color:blue;"&gt;="true"&lt;/span&gt; &lt;span style="color:red;"&gt;CodeFile&lt;/span&gt;&lt;span style="color:blue;"&gt;="CallBackEventValidationServer.aspx.cs"&lt;/span&gt; &lt;span style="color:red;"&gt;Inherits&lt;/span&gt;&lt;span style="color:blue;"&gt;="CallBackEventHandler_CallBackEventValidationServer"&lt;/span&gt; &lt;span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;%&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;!--&lt;/span--&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;doctype&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; &lt;span style="color:red;"&gt;html&lt;/span&gt; &lt;span style="color:red;"&gt;PUBLIC&lt;/span&gt; &lt;span style="color:blue;"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color:blue;"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;html&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; &lt;span style="color:red;"&gt;xmlns&lt;/span&gt;&lt;span style="color:blue;"&gt;="http://www.w3.org/1999/xhtml"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;head&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Head1"&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;/span&gt;Untitled Page&lt;&lt;span style="color:blue;"&gt;&lt;!--&lt;/span--&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;title&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;script&lt;/span&gt; &lt;span style="color:red;"&gt;language&lt;/span&gt;&lt;span style="color:blue;"&gt;="javascript"&lt;/span&gt; &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text/javascript"&gt;&lt;/span&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;function&lt;/span&gt; ReceiveServerData(rValue)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;alert(rValue);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style="color:blue;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;script&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;!--&lt;/span--&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;head&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;body&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="form1"&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ScriptManager&lt;/span&gt; &lt;span style="color:red;"&gt;ID&lt;/span&gt;&lt;span style="color:blue;"&gt;="sm"&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&gt;&lt;!--&lt;/span--&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;asp&lt;/span&gt;&lt;span style="color:blue;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;ScriptManager&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;div&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;Name:&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;input&lt;/span&gt; &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text"&lt;/span&gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Name"&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;Address:&lt;span style=""&gt;   &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;input&lt;/span&gt; &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="text"&lt;/span&gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="Address"&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;="server"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&gt;&lt;/span&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue;"&gt;&lt;&lt;/span&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;input&lt;/span&gt; &lt;span style="color:red;"&gt;type&lt;/span&gt;&lt;span style="color:blue;"&gt;="button"&lt;/span&gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;="SUBMIT"&lt;/span&gt; &lt;span style="color:red;"&gt;value&lt;/span&gt;&lt;span style="color:blue;"&gt;="SUBMIT"&lt;/span&gt; &lt;span style="color:red;"&gt;onclick&lt;/span&gt;&lt;span style="color:blue;"&gt;="CallServer(1, alert('Callback'))"&lt;/span&gt; &lt;span style="color:blue;"&gt;/&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style="color:blue;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;div&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style="color:blue;"&gt;&lt;span style="color: rgb(163, 21, 21);"&gt;form&lt;/span&gt;&lt;span style="color:blue;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;body&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;html&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.CS Page&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cdhineshp%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C03%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Collections;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Configuration;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Data;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Linq;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web.Security;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web.UI;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web.UI.HtmlControls;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web.UI.WebControls;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Web.UI.WebControls.WebParts;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;using&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; System.Xml.Linq;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;public&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; &lt;span style="color:blue;"&gt;partial&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;CallBackEventHandler_CallBackEventValidationServer&lt;/span&gt; : System.Web.UI.&lt;span style="color: rgb(43, 145, 175);"&gt;Page&lt;/span&gt;,&lt;span style="color: rgb(43, 145, 175);"&gt;ICallbackEventHandler&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; returnValue = &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt; e)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;ClientScriptManager&lt;/span&gt; cm = Page.ClientScript;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt; cbReference = cm.GetCallbackEventReference(&lt;span style="color:blue;"&gt;this&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"arg"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"ReceiveServerData"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;String&lt;/span&gt; callbackScript = &lt;span style="color: rgb(163, 21, 21);"&gt;"function CallServer(arg, context) {"&lt;/span&gt; + cbReference + &lt;span style="color: rgb(163, 21, 21);"&gt;"; }"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;cm.RegisterClientScriptBlock(&lt;span style="color:blue;"&gt;this&lt;/span&gt;.GetType(), &lt;span style="color: rgb(163, 21, 21);"&gt;"CallServer"&lt;/span&gt;, callbackScript, &lt;span style="color:blue;"&gt;true&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=""&gt;    &lt;/span&gt;#region&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt; ICallbackEventHandler Members&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; GetCallbackResult()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt; returnValue;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; RaiseCallbackEvent(&lt;span style="color:blue;"&gt;string&lt;/span&gt; eventArgument)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;Page.ClientScript.ValidateEvent(&lt;span style="color: rgb(163, 21, 21);"&gt;"SUBMIT"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:green;"&gt;// Callback logic goes here.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (Name.Value == &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;returnValue += &lt;span style="color: rgb(163, 21, 21);"&gt;"* Please fill the value for Name \n"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (Address.Value == &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Empty)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;                &lt;/span&gt;returnValue += &lt;span style="color: rgb(163, 21, 21);"&gt;"* Please fill the value for Address \n"&lt;/span&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;catch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;span style="color:green;"&gt;// Failed callback validation logic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;span style=""&gt;    &lt;/span&gt;#endregion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;color:blue;"   &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;override&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Render(&lt;span style="color: rgb(43, 145, 175);"&gt;HtmlTextWriter&lt;/span&gt; writer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;Page.ClientScript.RegisterForEventValidation(&lt;span style="color: rgb(163, 21, 21);"&gt;"SUBMIT"&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;span style="color:blue;"&gt;base&lt;/span&gt;.Render(writer);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;span style=""&gt;    &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;}&lt;/span&gt;&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-8301365715683605699?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gwfmtPniR89s-_JMhLE44QXgCHg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gwfmtPniR89s-_JMhLE44QXgCHg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gwfmtPniR89s-_JMhLE44QXgCHg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gwfmtPniR89s-_JMhLE44QXgCHg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/F7e7OG0QjyE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/8301365715683605699/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=8301365715683605699" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8301365715683605699?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8301365715683605699?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/F7e7OG0QjyE/blog-post.html" title="ICallbackEventHandler Sample" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYESHk7fip7ImA9WxBTF0U.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-684172155062659101</id><published>2009-12-14T01:25:00.000-08:00</published><updated>2009-12-14T01:31:49.706-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-14T01:31:49.706-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net-Ajax" /><title>Controls that Are Not Compatible with UpdatePanel Controls</title><content type="html">&lt;p&gt;The following ASP.NET controls are not compatible with partial-page updates, and are therefore not supported inside an &lt;span style="font-weight: bold;"&gt;UpdatePanel&lt;/span&gt; control:&lt;/p&gt;   &lt;ul&gt;&lt;li&gt;       &lt;p&gt;         &lt;span style="font-weight: bold;"&gt;TreeView&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Menu&lt;/span&gt; controls.&lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;&lt;span style="font-weight: bold;"&gt;Web Parts&lt;/span&gt; controls. For more information, see ASP.NET Web Parts Pages.&lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;         &lt;span style="font-weight: bold;"&gt;FileUpload&lt;/span&gt; controls when they are used to upload files as part of an asynchronous postback. &lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;         &lt;span style="font-weight: bold;"&gt;GridView&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;DetailsView&lt;/span&gt; controls when their EnableSortingAndPagingCallbacks property is set to &lt;span class="keyword"&gt;true&lt;/span&gt;. The default is &lt;span class="keyword"&gt;false&lt;/span&gt;.&lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;         &lt;span style="font-weight: bold;"&gt;Login&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;PasswordRecovery&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;ChangePassword&lt;/span&gt;, and &lt;span style="font-weight: bold;"&gt;CreateUserWizard&lt;/span&gt; controls whose contents have not been converted to editable templates.&lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;The &lt;span style="font-weight: bold;"&gt;Substitution&lt;/span&gt; control.&lt;/p&gt;     &lt;/li&gt;&lt;li&gt;       &lt;p&gt;Validation controls, which includes the &lt;span style="font-weight: bold;"&gt;BaseCompareValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;BaseValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;CompareValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;CustomValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;RangeValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;RegularExpressionValidator&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;RequiredFieldValidator&lt;/span&gt;, and &lt;span style="font-weight: bold;"&gt;ValidationSummary&lt;/span&gt; control.&lt;/p&gt;     &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-684172155062659101?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cYvxsJ9IeLT8T5U3OD-Pk-7roP4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cYvxsJ9IeLT8T5U3OD-Pk-7roP4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cYvxsJ9IeLT8T5U3OD-Pk-7roP4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cYvxsJ9IeLT8T5U3OD-Pk-7roP4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/BE1BspE51Kw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/684172155062659101/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=684172155062659101" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/684172155062659101?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/684172155062659101?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/BE1BspE51Kw/controls-that-are-not-compatible-with.html" title="Controls that Are Not Compatible with UpdatePanel Controls" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/12/controls-that-are-not-compatible-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcAR307fyp7ImA9WxBTEkU.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-8792003602970958442</id><published>2009-12-08T05:31:00.001-08:00</published><updated>2009-12-08T05:47:26.307-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T05:47:26.307-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="VB Keyword differences" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>C#.Net and Vb.Net Keyword Differences</title><content type="html">&lt;table border="0" width="100%"&gt;&lt;tbody&gt;&lt;tr align="center"&gt;&lt;td colspan="2"&gt;&lt;table class="header" border="0" width="100%"&gt;&lt;tbody&gt;&lt;tr align="center"&gt;&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="progstruct"&gt;&lt;/a&gt;Program Structure&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td&gt;Imports System 					
&lt;br /&gt;					
&lt;br /&gt;					Namespace Hello
&lt;br /&gt;					   Class HelloWorld 					
&lt;br /&gt;					      Overloads Shared Sub &lt;b&gt;Main&lt;/b&gt;(ByVal args() As  					String) 					
&lt;br /&gt;					         Dim name As String = "VB.NET" 					
&lt;br /&gt;					
&lt;br /&gt;					         &lt;span class="comment"&gt;'See if an  						argument was passed from the command line&lt;/span&gt;
&lt;br /&gt;					          If args.Length = 1 Then  					name = args(0) 					
&lt;br /&gt;					
&lt;br /&gt;					           					Console.WriteLine("Hello, " &amp;amp; name &amp;amp; "!") 					
&lt;br /&gt;					      End Sub 					
&lt;br /&gt;					   End Class 					
&lt;br /&gt;					End Namespace 				&lt;/td&gt; 				&lt;td&gt;using System; 					
&lt;br /&gt;					
&lt;br /&gt;					namespace Hello {
&lt;br /&gt;					   public class HelloWorld {
&lt;br /&gt;					      public static void &lt;b&gt;Main&lt;/b&gt;(string[]  					args) {
&lt;br /&gt;					         string name = "C#";
&lt;br /&gt;					
&lt;br /&gt;					         &lt;span class="comment"&gt;// See if an  						argument was passed from the command line&lt;/span&gt;
&lt;br /&gt;					         if (args.Length == 1)
&lt;br /&gt;					            name = args[0];
&lt;br /&gt;					
&lt;br /&gt;					         Console.WriteLine("Hello, " + name  					+ "!");
&lt;br /&gt;					      }
&lt;br /&gt;					   }
&lt;br /&gt;					} 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table2" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="comments"&gt;&lt;/a&gt;Comments&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td height="16"&gt;&lt;span class="comment"&gt;' Single line only&lt;/span&gt;
&lt;br /&gt;						&lt;span class="comment"&gt;&lt;b&gt;REM&lt;/b&gt; Single line only&lt;/span&gt;
&lt;br /&gt;                                                &lt;span class="comment"&gt;''' &lt;summary&gt;XML comments&lt;/summary&gt;&lt;/span&gt; 				&lt;/td&gt; 				&lt;td height="16"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Single line
&lt;br /&gt;							/* Multiple
&lt;br /&gt;							    line  */
&lt;br /&gt;							/// &lt;summary&gt;XML comments on single line&lt;/summary&gt;
&lt;br /&gt;							/** &lt;summary&gt;XML comments on multiple lines&lt;/summary&gt; */&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table3" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="datatypes"&gt;&lt;/a&gt;Data Types&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="80"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Value Types&lt;/span&gt;
&lt;br /&gt;						Boolean
&lt;br /&gt;						Byte, SByte
&lt;br /&gt;						Char
&lt;br /&gt;						Short, UShort, Integer, UInteger, Long, ULong
&lt;br /&gt;                                                   						Single, Double
&lt;br /&gt;						Decimal
&lt;br /&gt;						Date&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Reference Types&lt;/span&gt;
&lt;br /&gt;						Object
&lt;br /&gt;						String
&lt;br /&gt;					&lt;/p&gt; 					                  &lt;p&gt;&lt;span class="comment"&gt;Initializing&lt;/span&gt;
&lt;br /&gt;Dim correct As Boolean = True
&lt;br /&gt;Dim b As Byte = &amp;amp;H2A   &lt;span class="comment"&gt;'hex&lt;/span&gt;
&lt;br /&gt;Dim o As Byte = &amp;amp;O52   &lt;span class="comment"&gt;'octal&lt;/span&gt;
&lt;br /&gt;Dim person As Object = Nothing
&lt;br /&gt;Dim name As String = "Dwight"
&lt;br /&gt;Dim grade As Char = "B"c
&lt;br /&gt;Dim today As Date = #12/31/2007 12:15:00 PM#
&lt;br /&gt;Dim amount As Decimal = 35.99@
&lt;br /&gt;Dim gpa As Single = 2.9!
&lt;br /&gt;Dim pi As Double = 3.14159265
&lt;br /&gt;Dim lTotal As Long = 123456L
&lt;br /&gt;Dim sTotal As Short = 123S
&lt;br /&gt;Dim usTotal As UShort = 123US
&lt;br /&gt;Dim uiTotal As UInteger = 123UI
&lt;br /&gt;Dim ulTotal As ULong = 123UL &lt;/p&gt; &lt;p&gt;                                             &lt;span class="comment"&gt;Type Information&lt;/span&gt;
&lt;br /&gt;                                            &lt;b&gt;Dim&lt;/b&gt; x &lt;b&gt;As&lt;/b&gt; Integer 						
&lt;br /&gt;						Console.WriteLine(x.&lt;b&gt;GetType&lt;/b&gt;())          &lt;span class="comment"&gt; 							' Prints System.Int32&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(&lt;b&gt;GetType&lt;/b&gt;(Integer))   &lt;span class="comment"&gt;' Prints System.Int32&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(&lt;b&gt;TypeName&lt;/b&gt;(x))        &lt;span class="comment"&gt;'  							Prints Integer&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Type Conversion&lt;/span&gt;
&lt;br /&gt;						Dim d As Single = 3.5 						
&lt;br /&gt;						Dim i As Integer = &lt;b&gt;CType&lt;/b&gt;(d, Integer)   &lt;span class="comment"&gt; 							' set to 4 (Banker's rounding)&lt;/span&gt;
&lt;br /&gt;						i = &lt;b&gt;CInt&lt;/b&gt;(d)  &lt;span class="comment"&gt;' same result as CType&lt;/span&gt;
&lt;br /&gt;						i = &lt;b&gt;Int&lt;/b&gt;(d)    &lt;span class="comment"&gt;' set to 3 (Int  							function truncates the decimal)&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="80"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Value Types&lt;/span&gt;
&lt;br /&gt;						bool
&lt;br /&gt;						byte, sbyte
&lt;br /&gt;						char
&lt;br /&gt;						short, ushort, int, uint, long, ulong
&lt;br /&gt;						float, double
&lt;br /&gt;						decimal
&lt;br /&gt;						DateTime   &lt;span class="comment"&gt;(not a built-in C# type)&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Reference Types&lt;/span&gt;
&lt;br /&gt;						object
&lt;br /&gt;						string
&lt;br /&gt;					&lt;/p&gt; &lt;p&gt;&lt;span class="comment"&gt;Initializing&lt;/span&gt;
&lt;br /&gt;bool correct = true;
&lt;br /&gt;byte b = 0x2A;    &lt;span class="comment"&gt;// hex&lt;/span&gt;
&lt;br /&gt;
&lt;br /&gt;object person = null;
&lt;br /&gt;string name = "Dwight";
&lt;br /&gt;char grade = 'B';
&lt;br /&gt;DateTime today = DateTime.Parse("12/31/2007 12:15:00");
&lt;br /&gt;decimal amount = 35.99m;
&lt;br /&gt;float gpa = 2.9f;
&lt;br /&gt;double pi = 3.14159265;
&lt;br /&gt;long lTotal = 123456L;
&lt;br /&gt;short sTotal = 123;
&lt;br /&gt;ushort usTotal = 123;
&lt;br /&gt;uint uiTotal = 123;
&lt;br /&gt;ulong ulTotal = 123;
&lt;br /&gt;&lt;/p&gt;              					&lt;p&gt;                                             &lt;span class="comment"&gt;Type Information&lt;/span&gt;
&lt;br /&gt;                                            int x;
&lt;br /&gt;						Console.WriteLine(x.&lt;b&gt;GetType&lt;/b&gt;());              &lt;span class="comment"&gt;//  							Prints System.Int32&lt;/span&gt;
&lt;br /&gt;						Console.WriteLine(&lt;b&gt;typeof&lt;/b&gt;(int));               &lt;span class="comment"&gt; 							// Prints System.Int32&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(x.&lt;b&gt;GetType().Name&lt;/b&gt;);   &lt;span class="comment"&gt;// prints Int32&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Type Conversion&lt;/span&gt; 						
&lt;br /&gt;						float d = 3.5f; 						
&lt;br /&gt;						int i = &lt;b&gt;(int)&lt;/b&gt;d;   &lt;span class="comment"&gt;// set  							to 3  (truncates decimal)&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table4" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="constants"&gt;&lt;/a&gt;Constants&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td height="16"&gt;&lt;b&gt;Const&lt;/b&gt; MAX_STUDENTS &lt;b&gt;As&lt;/b&gt; Integer  					= 25 					&lt;p&gt;&lt;span class="comment"&gt;' Can set to a const or var; may be initialized in a  							constructor&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;ReadOnly&lt;/b&gt; MIN_DIAMETER &lt;b&gt;As&lt;/b&gt; Single = 4.93 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="16"&gt;&lt;b&gt;const&lt;/b&gt; int MAX_STUDENTS = 25; 					&lt;p&gt;&lt;span class="comment"&gt;// Can set to a const or var; may be initialized in a  							constructor &lt;/span&gt; 						
&lt;br /&gt;						&lt;b&gt;readonly&lt;/b&gt; float MIN_DIAMETER = 4.93f; 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table5" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;VB.NET&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;a name="enumerations"&gt;&lt;/a&gt;Enumerations&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;C#&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td&gt;&lt;span&gt;&lt;b&gt;Enum&lt;/b&gt; Action 						
&lt;br /&gt;						  Start
&lt;br /&gt;						  [Stop]   &lt;span class="comment"&gt;' Stop is a reserved word&lt;/span&gt;
&lt;br /&gt;						  Rewind 						
&lt;br /&gt;						  Forward 						
&lt;br /&gt;						&lt;b&gt;End Enum&lt;/b&gt; 						
&lt;br /&gt;						
&lt;br /&gt;						&lt;b&gt;Enum&lt;/b&gt; Status 						
&lt;br /&gt;						  Flunk = 50 						
&lt;br /&gt;						  Pass = 70 						
&lt;br /&gt;						  Excel = 90 						
&lt;br /&gt;						&lt;b&gt;End Enum
&lt;br /&gt;						&lt;/b&gt; 						
&lt;br /&gt;						Dim a As Action = Action.Stop 						
&lt;br /&gt;						If a &lt;&gt; Action.Start Then _ 						
&lt;br /&gt;						   Console.WriteLine(a.ToString &amp;amp; " is " &amp;amp; a)    						  &lt;span class="comment"&gt;' Prints "Stop is 1"&lt;/span&gt; 						
&lt;br /&gt;						
&lt;br /&gt;						Console.WriteLine(Status.Pass)     &lt;span class="comment"&gt;'  							Prints 70&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(Status.Pass.ToString())     &lt;span class="comment"&gt;'  							Prints Pass&lt;/span&gt;&lt;/span&gt; 				&lt;/td&gt; 				&lt;td height="112"&gt;&lt;b&gt;enum&lt;/b&gt; Action {Start, Stop, Rewind, Forward};
&lt;br /&gt;					&lt;b&gt;enum&lt;/b&gt; Status {Flunk = 50, Pass = 70, Excel = 90};
&lt;br /&gt;					
&lt;br /&gt;					Action a = Action.Stop;
&lt;br /&gt;					if (a != Action.Start)
&lt;br /&gt;					  Console.WriteLine(a + " is " + (int) a);    &lt;span class="comment"&gt;//  						Prints "Stop is 1"&lt;/span&gt;
&lt;br /&gt;					
&lt;br /&gt;					Console.WriteLine((int) Status.Pass);    &lt;span class="comment"&gt;//  						Prints 70&lt;/span&gt; 					
&lt;br /&gt;					Console.WriteLine(Status.Pass);      &lt;span class="comment"&gt;// Prints  						Pass&lt;/span&gt;&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table6" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="operators"&gt;&lt;/a&gt;Operators&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td height="16"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Comparison&lt;/span&gt;
&lt;br /&gt;						=  &lt;  &gt;  &lt;=  &gt;=  &lt;&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Arithmetic&lt;/span&gt;
&lt;br /&gt;						+  -  *  /
&lt;br /&gt;						Mod
&lt;br /&gt;						\  &lt;span class="comment"&gt;(integer division)&lt;/span&gt;
&lt;br /&gt;						^  &lt;span class="comment"&gt;(raise to a power)&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Assignment&lt;/span&gt;
&lt;br /&gt;						=  +=  -=  *=  /=  \=  ^=  &lt;&lt;=  						 &gt;&gt;=  &amp;amp;=&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Bitwise&lt;/span&gt;
&lt;br /&gt;						And   Or   Xor   Not   &lt;&lt;   &gt;&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Logical&lt;/span&gt;
&lt;br /&gt;						AndAlso   OrElse   And   Or   Xor   Not&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; AndAlso and OrElse perform short-circuit logical  						evaluations&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;String Concatenation&lt;/span&gt;
&lt;br /&gt;						&amp;amp; &lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="16"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Comparison&lt;/span&gt;
&lt;br /&gt;						==  &lt;  &gt;  &lt;=  &gt;=  !=&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Arithmetic&lt;/span&gt;
&lt;br /&gt;						+  -  *  /
&lt;br /&gt;						%  &lt;span class="comment"&gt;(mod)&lt;/span&gt;
&lt;br /&gt;						/  &lt;span class="comment"&gt;(integer division if both operands are ints)&lt;/span&gt;
&lt;br /&gt;						Math.Pow(x, y)&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Assignment&lt;/span&gt;
&lt;br /&gt;						=  +=  -=  *=  /=   %=  &amp;amp;=  |=   						^=  &lt;&lt;=  &gt;&gt;=  ++  --&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Bitwise&lt;/span&gt;
&lt;br /&gt;						&amp;amp;   |   ^   ~   &lt;&lt;   &gt;&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Logical&lt;/span&gt;
&lt;br /&gt;						&amp;amp;&amp;amp;   ||   &amp;amp;   |   ^   !&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; &amp;amp;&amp;amp; and || perform short-circuit logical  						evaluations&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;String Concatenation&lt;/span&gt;
&lt;br /&gt;						+&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table7" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="choices"&gt;&lt;/a&gt;Choices&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Ternary/Conditional operator (Iff evaluates 2nd and 3rd expressions)&lt;/span&gt;
&lt;br /&gt;					greeting = &lt;b&gt;If&lt;/b&gt;(age &lt;&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' One line doesn't require "End If"&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;If&lt;/b&gt; age &lt;&gt;Then&lt;/b&gt; greeting =  						"What's up?" 						
&lt;br /&gt;						&lt;b&gt;If&lt;/b&gt;  age &lt;&gt;Then&lt;/b&gt; greeting =  						"What's up?" &lt;b&gt;Else&lt;/b&gt; greeting = "Hello" 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Use : to put two commands on same line&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;If&lt;/b&gt; x &lt;&gt; 100 AndAlso y &lt;&gt;Then&lt;/b&gt; x *= 5 &lt;b&gt; 							:&lt;/b&gt; y *= 2  &lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Preferred&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;If&lt;/b&gt; x &lt;&gt; 100 AndAlso y &lt;&gt;Then&lt;/b&gt;
&lt;br /&gt;						  x *= 5 						
&lt;br /&gt;						  y *= 2
&lt;br /&gt;						&lt;b&gt;End If&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' To break up any long single line use _&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;If&lt;/b&gt; whenYouHaveAReally &lt; longLine And _ 						
&lt;br /&gt;						  itNeedsToBeBrokenInto2 &gt; Lines &lt;b&gt;Then&lt;/b&gt; _
&lt;br /&gt;						  UseTheUnderscore(charToBreakItUp)&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;'&lt;/span&gt;&lt;b&gt;If&lt;/b&gt; x &gt; 5 &lt;b&gt;Then&lt;/b&gt; 						
&lt;br /&gt;						  x *= y 						
&lt;br /&gt;						&lt;b&gt;ElseIf&lt;/b&gt; x = 5 OrElse y Mod 2 = 0 &lt;b&gt;Then&lt;/b&gt; 						
&lt;br /&gt;						  x += y 						
&lt;br /&gt;						&lt;b&gt;ElseIf&lt;/b&gt; x &lt;&gt;Then&lt;/b&gt; 						
&lt;br /&gt;						  x -= y 						
&lt;br /&gt;						&lt;b&gt;Else&lt;/b&gt; 						
&lt;br /&gt;						  x /= y 						
&lt;br /&gt;						&lt;b&gt;End If&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Select Case&lt;/b&gt; color   &lt;span class="comment"&gt;' Must be a  							primitive data type&lt;/span&gt;
&lt;br /&gt;						  &lt;b&gt;Case&lt;/b&gt; "pink", "red"
&lt;br /&gt;						    r += 1 						
&lt;br /&gt;						  &lt;b&gt;Case&lt;/b&gt; "blue" 						
&lt;br /&gt;						    b += 1 						
&lt;br /&gt;                     						  &lt;b&gt;Case&lt;/b&gt; "green" 						
&lt;br /&gt;						    g += 1 						
&lt;br /&gt;						  &lt;b&gt;Case Else&lt;/b&gt; 						
&lt;br /&gt;						    other += 1 						
&lt;br /&gt;						&lt;b&gt;End Select&lt;/b&gt; 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Ternary/Conditional operator&lt;/span&gt;
&lt;br /&gt;					greeting = age &lt;&gt;?&lt;/b&gt; "What's up?" &lt;b&gt;:&lt;/b&gt; "Hello";&lt;/p&gt; 					&lt;p&gt; 					&lt;b&gt;if&lt;/b&gt; (age &lt; 20)
&lt;br /&gt;                      greeting = "What's up?";
&lt;br /&gt;                    &lt;b&gt;else&lt;/b&gt;
&lt;br /&gt;                      greeting = "Hello"; 					&lt;/p&gt; 					&lt;p&gt; 					 &lt;span class="comment"&gt;// Multiple statements must be enclosed in {}&lt;/span&gt;
&lt;br /&gt;					&lt;b&gt;if&lt;/b&gt; (x != 100 &amp;amp;&amp;amp; y &lt; 5) {  
&lt;br /&gt;						  x *= 5;
&lt;br /&gt;						  y *= 2;
&lt;br /&gt;						}&lt;/p&gt; 						
&lt;br /&gt;						
&lt;br /&gt;					&lt;p&gt;&lt;span class="comment"&gt;No need for _ or : since ; is used to terminate each  							statement.&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						 						
&lt;br /&gt;						
&lt;br /&gt;						&lt;b&gt; 							
&lt;br /&gt;							if&lt;/b&gt; (x &gt; 5) 						
&lt;br /&gt;						  x *= y; 						
&lt;br /&gt;						&lt;b&gt;else&lt;/b&gt; if (x == 5 || y % 2 == 0) 						
&lt;br /&gt;						  x += y; 						
&lt;br /&gt;						&lt;b&gt;else&lt;/b&gt; if (x &lt; 10) 						
&lt;br /&gt;						  x -= y; 						
&lt;br /&gt;						&lt;b&gt;else&lt;/b&gt; 						
&lt;br /&gt;						  x /= y;
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						
&lt;br /&gt;						&lt;span class="comment"&gt;// Every case must end with break or goto case&lt;/span&gt; 						
&lt;br /&gt;						&lt;b&gt;switch&lt;/b&gt; (color) {                          						&lt;i&gt;&lt;span style="color:#008000;"&gt;// Must be integer or string&lt;/span&gt;&lt;/i&gt;
&lt;br /&gt;						  &lt;b&gt;case&lt;/b&gt; "pink":
&lt;br /&gt;						  &lt;b&gt;case&lt;/b&gt; "red":    r++;    &lt;b&gt; 							break;&lt;/b&gt; 
&lt;br /&gt;						  &lt;b&gt;case&lt;/b&gt; "blue":   b++;   &lt;b&gt;break;
&lt;br /&gt;						&lt;/b&gt;  &lt;b&gt;case&lt;/b&gt; "green": g++;   &lt;b&gt;break;
&lt;br /&gt;						&lt;/b&gt;  &lt;b&gt;default:&lt;/b&gt;     						other++;  &lt;b&gt; break;&lt;/b&gt;        						&lt;span class="comment"&gt;// break necessary on default&lt;/span&gt;
&lt;br /&gt;						} 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table8" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;VB.NET&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;a name="loops"&gt;&lt;/a&gt;Loops&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;C#&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td valign="top"&gt; 					&lt;table id="Table1" border="0" cellpadding="0" cellspacing="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr&gt; 							&lt;td colspan="2"&gt;&lt;span class="comment"&gt;Pre-test Loops:&lt;/span&gt; 							&lt;/td&gt; 						&lt;/tr&gt; 						&lt;tr&gt; 							&lt;td width="50%"&gt;&lt;b&gt;While&lt;/b&gt; c &lt; 10 								
&lt;br /&gt;								  c += 1 								
&lt;br /&gt;								&lt;b&gt;End While&lt;/b&gt; 							&lt;/td&gt; 							&lt;td width="50%"&gt; 								&lt;p&gt;&lt;b&gt;Do Until&lt;/b&gt; c = 10
&lt;br /&gt;									  c += 1 									
&lt;br /&gt;									&lt;b&gt;Loop&lt;/b&gt;&lt;/p&gt; 							&lt;/td&gt; 						&lt;/tr&gt; 						&lt;tr&gt; 							&lt;td&gt;&lt;b&gt;Do While&lt;/b&gt; c &lt; 10 								
&lt;br /&gt;								  c += 1 								
&lt;br /&gt;								&lt;b&gt;Loop&lt;/b&gt; 							&lt;/td&gt; 							&lt;td&gt; 								&lt;p&gt;&lt;b&gt;For&lt;/b&gt; c = 2 &lt;b&gt;To&lt;/b&gt; 10 &lt;b&gt;Step&lt;/b&gt; 2 									
&lt;br /&gt;									  Console.WriteLine(c) 									
&lt;br /&gt;									&lt;b&gt;Next&lt;/b&gt; 								&lt;/p&gt; 							&lt;/td&gt; 						&lt;/tr&gt; 						&lt;tr&gt; 							&lt;td colspan="2"&gt;&lt;span class="comment"&gt;
&lt;br /&gt;									Post-test Loops:&lt;/span&gt; 							&lt;/td&gt; 						&lt;/tr&gt; 						&lt;tr&gt; 							&lt;td&gt;&lt;b&gt;Do&lt;/b&gt;
&lt;br /&gt;								  c += 1 								
&lt;br /&gt;								&lt;b&gt;Loop While&lt;/b&gt; c &lt;&gt; 							&lt;td&gt;&lt;b&gt;Do&lt;/b&gt;
&lt;br /&gt;								  c += 1 								
&lt;br /&gt;								&lt;b&gt;Loop Until&lt;/b&gt; c = 10 							&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;'  Array or collection looping&lt;/span&gt;
&lt;br /&gt;						Dim names As String() = {"Fred", "Sue", "Barney"} 						
&lt;br /&gt;						&lt;b&gt;For Each&lt;/b&gt; s As String&lt;b&gt; In&lt;/b&gt; names 						
&lt;br /&gt;						  Console.WriteLine(s) 						
&lt;br /&gt;						&lt;b&gt;Next&lt;/b&gt; 					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;' Breaking out of loops&lt;/span&gt;
&lt;br /&gt;					Dim i As Integer = 0
&lt;br /&gt;                    While (True)
&lt;br /&gt;                      If (i = 5) Then &lt;b&gt;Exit While&lt;/b&gt;
&lt;br /&gt;                      i += 1
&lt;br /&gt;                    End While                    
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;' Continue to next iteration&lt;/span&gt;
&lt;br /&gt;                    For i = 0 To 4
&lt;br /&gt;                      If i &lt;&gt;Continue For&lt;/b&gt;
&lt;br /&gt;                      Console.WriteLine(i)   &lt;span class="comment"&gt;' Only prints 4&lt;/span&gt;
&lt;br /&gt;                    Next 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="259" valign="top"&gt;&lt;span class="comment"&gt;Pre-test Loops:&lt;/span&gt;   					&lt;p&gt;&lt;span class="comment"&gt;// no "until" keyword&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;while&lt;/b&gt; (c &lt; 10) 						
&lt;br /&gt;						  c++;
&lt;br /&gt;						
&lt;br /&gt;
&lt;br /&gt;						&lt;b&gt;for&lt;/b&gt; (c = 2; c &lt;= 10; c += 2) 						
&lt;br /&gt;						  Console.WriteLine(c);&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						 						&lt;span class="comment"&gt;Post-test Loop:&lt;/span&gt;
&lt;br /&gt;						
&lt;br /&gt;						&lt;b&gt;do&lt;/b&gt; 						
&lt;br /&gt;						  c++; 						
&lt;br /&gt;						&lt;b&gt;while&lt;/b&gt; (c &lt; 10);
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;						 					&lt;/p&gt; 					&lt;p&gt;	 						&lt;span class="comment"&gt;// Array or collection looping&lt;/span&gt;
&lt;br /&gt;						string[] names = {"Fred", "Sue", "Barney"};
&lt;br /&gt;						&lt;b&gt;foreach&lt;/b&gt; (string s &lt;b&gt;in&lt;/b&gt; names)
&lt;br /&gt;						  Console.WriteLine(s); 					&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;					&lt;span class="comment"&gt;// Breaking out of loops&lt;/span&gt;
&lt;br /&gt;					int i = 0;
&lt;br /&gt;                    while (true) {
&lt;br /&gt;                      if (i == 5)
&lt;br /&gt;                        &lt;b&gt;break;&lt;/b&gt;
&lt;br /&gt;                      i++;
&lt;br /&gt;                    } 					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;// Continue to next iteration&lt;/span&gt;
&lt;br /&gt;                    for (i = 0; i &lt; 5; i++) {
&lt;br /&gt;                      if (i &lt; 4)
&lt;br /&gt;                        &lt;b&gt;continue;&lt;/b&gt;
&lt;br /&gt;                      Console.WriteLine(i);    &lt;span class="comment"&gt;// Only prints 4&lt;/span&gt;
&lt;br /&gt;                    } 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table9" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="arrays"&gt;&lt;/a&gt;Arrays&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="144"&gt; 					&lt;p&gt;Dim nums&lt;b&gt;()&lt;/b&gt; As Integer = {1, 2, 3}
&lt;br /&gt;						For i As Integer = 0 To nums.Length - 1 						
&lt;br /&gt;						  Console.WriteLine(nums(i)) 						
&lt;br /&gt;						Next 						
&lt;br /&gt;						
&lt;br /&gt;						&lt;span class="comment"&gt;' 4 is the index of the last element, so it holds 5  							elements&lt;/span&gt;
&lt;br /&gt;						Dim names(4) As String 						
&lt;br /&gt;						names(0) = "David"
&lt;br /&gt;						names(5) = "Bobby"  &lt;span class="comment"&gt;' Throws  							System.IndexOutOfRangeException&lt;/span&gt; 						
&lt;br /&gt;						
&lt;br /&gt;						&lt;span class="comment"&gt;' Resize the array, keeping the existing values (Preserve is  							optional)&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;ReDim Preserve&lt;/b&gt; names(6)
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						
&lt;br /&gt;						Dim twoD(rows-1, cols-1) As Single 						
&lt;br /&gt;						twoD(2, 0) = 4.5
&lt;br /&gt;						
&lt;br /&gt;						Dim jagged&lt;b&gt;()()&lt;/b&gt; As Integer = { _ 						
&lt;br /&gt;						  New Integer(4) {}, New Integer(1) {}, New Integer(2) {} } 						
&lt;br /&gt;						jagged(0)(4) = 5 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="144"&gt; 					&lt;p&gt;int&lt;b&gt;[] &lt;/b&gt;nums = {1, 2, 3};
&lt;br /&gt;						for (int i = 0; i &lt; nums.Length; i++)
&lt;br /&gt;						  Console.WriteLine(nums[i]);
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;						&lt;span class="comment"&gt;// 5 is the size of the array&lt;/span&gt;
&lt;br /&gt;						string[] names = new string[5];
&lt;br /&gt;						names[0] = "David";
&lt;br /&gt;						names[5] = "Bobby";   &lt;span class="comment"&gt;// Throws  							System.IndexOutOfRangeException&lt;/span&gt; 						
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;						&lt;span class="comment"&gt;// C# can't dynamically resize an array.  Just copy into  							new array.&lt;/span&gt;
&lt;br /&gt;						string[] names2 = new string[7]; 						
&lt;br /&gt;						Array.Copy(names, names2, names.Length);   &lt;span class="comment"&gt;// or  							names.CopyTo(names2, 0);&lt;/span&gt; &lt;/p&gt; 					&lt;p&gt;float&lt;b&gt;[,]&lt;/b&gt; twoD = new float[rows, cols];
&lt;br /&gt;					twoD[2,0] = 4.5f;  					&lt;/p&gt;&lt;p&gt;int&lt;b&gt;[][]&lt;/b&gt; jagged = new int[3][] { 						
&lt;br /&gt;						  new int[5], new int[2], new int[3] };
&lt;br /&gt;						jagged[0][4] = 5; 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table10" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;VB.NET&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;a name="functions"&gt;&lt;/a&gt;Functions&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;C#&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="100" width="50%"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Pass by value (in, default), reference (in/out),  							and reference (out)&lt;/span&gt;  						
&lt;br /&gt;						&lt;b&gt;Sub&lt;/b&gt; TestFunc(&lt;b&gt;ByVal&lt;/b&gt; x As Integer, &lt;b&gt;ByRef&lt;/b&gt; 						y As Integer, &lt;b&gt;ByRef&lt;/b&gt; z As Integer)
&lt;br /&gt;						  x += 1
&lt;br /&gt;						  y += 1 						
&lt;br /&gt;						  z = 5 						
&lt;br /&gt;						&lt;b&gt;End Sub&lt;/b&gt; 					&lt;/p&gt;&lt;p&gt;&lt;span&gt;Dim a = 1, b = 1, c As Integer   &lt;span class="comment"&gt;' c set to  								zero by default&lt;/span&gt;  							
&lt;br /&gt;							TestFunc(a, b, c) 							
&lt;br /&gt;							Console.WriteLine("{0} {1} {2}", a, b, c)   &lt;span class="comment"&gt;'  								1 2 5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Accept variable number of arguments&lt;/span&gt; 						
&lt;br /&gt;						&lt;b&gt;Function&lt;/b&gt; Sum(ByVal &lt;b&gt;ParamArray&lt;/b&gt; nums &lt;b&gt;As&lt;/b&gt; Integer())  						As Integer 						
&lt;br /&gt;						  Sum = 0  						
&lt;br /&gt;						  For Each i As Integer In nums 						
&lt;br /&gt;						    Sum += i 						
&lt;br /&gt;						  Next 						
&lt;br /&gt;						&lt;b&gt;End Function&lt;/b&gt;   &lt;span class="comment"&gt;' Or use Return  							statement like C#&lt;/span&gt;
&lt;br /&gt;						
&lt;br /&gt;						Dim total As Integer = Sum(4, 3, 2, 1)   &lt;span class="comment"&gt;' returns  							10&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Optional parameters must be listed last and must  							have a default value&lt;/span&gt; 						
&lt;br /&gt;						&lt;b&gt;Sub&lt;/b&gt; SayHello(ByVal name As String, &lt;b&gt;Optional&lt;/b&gt; ByVal  						prefix As String = "")
&lt;br /&gt;						  Console.WriteLine("Greetings, " &amp;amp; prefix &amp;amp; " " &amp;amp; name) 						
&lt;br /&gt;						&lt;b&gt;End Sub&lt;/b&gt;
&lt;br /&gt;						
&lt;br /&gt;						SayHello("Strangelove", "Dr.")
&lt;br /&gt;						SayHello("Madonna")
&lt;br /&gt;					&lt;/p&gt; 					&lt;/td&gt; 				&lt;td height="100" width="50%"&gt;&lt;span class="comment"&gt;// Pass by value (in, default),  						reference (in/out), and reference (out)&lt;/span&gt;
&lt;br /&gt;					void TestFunc(int x, &lt;b&gt;ref&lt;/b&gt; int y, &lt;b&gt;out&lt;/b&gt; int z) {
&lt;br /&gt;					  x++; 
&lt;br /&gt;					  y++;
&lt;br /&gt;					  z = 5;
&lt;br /&gt;					} 					&lt;p&gt;int a = 1, b = 1, c;  &lt;span style="color:#008000;"&gt;&lt;i&gt;// c doesn't need initializing&lt;/i&gt;&lt;/span&gt;
&lt;br /&gt;						TestFunc(a, &lt;b&gt;ref&lt;/b&gt; b, &lt;b&gt;out&lt;/b&gt; c);
&lt;br /&gt;						Console.WriteLine("{0} {1} {2}", a, b, c);  &lt;span class="comment"&gt;// 1 2 5&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Accept variable number of arguments&lt;/span&gt;
&lt;br /&gt;						int Sum(&lt;b&gt;params&lt;/b&gt; int[] nums) {
&lt;br /&gt;						  int sum = 0;
&lt;br /&gt;						  foreach (int i in nums)
&lt;br /&gt;						    sum += i;
&lt;br /&gt;						  return sum;
&lt;br /&gt;						}&lt;/p&gt; 					&lt;p&gt;int total = Sum(4, 3, 2, 1);   &lt;span style="color:#008000;"&gt;&lt;i&gt;// returns 10&lt;/i&gt;&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;/* C# doesn't support optional  							arguments/parameters.  Just create two different versions of the same  							function. */&lt;/span&gt;  						
&lt;br /&gt;						void SayHello(string name, string prefix) {
&lt;br /&gt;						  Console.WriteLine("Greetings, " + prefix + " " + name);
&lt;br /&gt;						}
&lt;br /&gt;						
&lt;br /&gt;						void SayHello(string name) { 						
&lt;br /&gt;						  SayHello(name, ""); 						
&lt;br /&gt;						} 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table11" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="strings"&gt;&lt;/a&gt;Strings&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td valign="top"&gt; 				&lt;p&gt;&lt;span class="comment"&gt;Special character constants (all also accessible from ControlChars class)&lt;/span&gt;
&lt;br /&gt;					vbCrLf, vbCr, vbLf, vbNewLine  					
&lt;br /&gt;					vbNullString 					
&lt;br /&gt;					vbTab 					
&lt;br /&gt;					vbBack 					
&lt;br /&gt;					vbFormFeed 					
&lt;br /&gt;					vbVerticalTab
&lt;br /&gt;					""   					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;' String concatenation (use &amp;amp; or +)&lt;/span&gt; 					
&lt;br /&gt;					Dim school As String = "Harding" &lt;b&gt;&amp;amp;&lt;/b&gt; vbTab
&lt;br /&gt;					school = school &amp;amp; "University" &lt;span class="comment"&gt;' school is "Harding (tab)  						University"&lt;/span&gt; 						&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Chars&lt;/span&gt;
&lt;br /&gt;						Dim letter As &lt;b&gt;Char&lt;/b&gt; = school.Chars(0)   &lt;span class="comment"&gt; 							' letter is H &lt;/span&gt; 						
&lt;br /&gt;						letter =  						Convert.ToChar(65)                						 &lt;span class="comment"&gt;' letter is A &lt;/span&gt; 						
&lt;br /&gt;						letter = &lt;b&gt;Chr&lt;/b&gt;(65)                                 &lt;span class="comment"&gt;'  							same thing 							
&lt;br /&gt;						&lt;/span&gt;Dim word() As Char = school.ToCharArray() &lt;span class="comment"&gt;' word holds  							Harding &lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' No string literal operator&lt;/span&gt; 						
&lt;br /&gt;						Dim msg As String = "File is c:\temp\x.dat" 						
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt; 						&lt;span class="comment"&gt;' String comparison&lt;/span&gt;
&lt;br /&gt;						Dim mascot As String = "Bisons"
&lt;br /&gt;						If (mascot = "Bisons") Then   &lt;span class="comment"&gt;' true&lt;/span&gt;
&lt;br /&gt;						If (mascot.&lt;b&gt;Equals&lt;/b&gt;("Bisons")) Then   &lt;span class="comment"&gt; 							' true&lt;/span&gt;
&lt;br /&gt;						If (mascot.&lt;b&gt;ToUpper&lt;/b&gt;().&lt;b&gt;Equals&lt;/b&gt;("BISONS")) Then  						 &lt;span class="comment"&gt;' true&lt;/span&gt;
&lt;br /&gt;						If (mascot.&lt;b&gt;CompareTo&lt;/b&gt;("Bisons") = 0) Then   &lt;span class="comment"&gt;'  							true&lt;/span&gt;&lt;/p&gt; 							 					&lt;p&gt; 					&lt;span class="comment"&gt;' String matching with Like - Regex is more powerful&lt;/span&gt;
&lt;br /&gt;					If ("John 3:16" &lt;b&gt;Like&lt;/b&gt; "Jo[Hh]? #:*") Then   &lt;span class="comment"&gt;'true&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;' Substring&lt;/span&gt;
&lt;br /&gt;					s = mascot.&lt;b&gt;Substring&lt;/b&gt;(2, 3)) &lt;span class="comment"&gt;' s is "son"&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;' Replacement&lt;/span&gt;
&lt;br /&gt;					s = mascot.&lt;b&gt;Replace&lt;/b&gt;("sons", "nomial")) &lt;span class="comment"&gt;' s is "Binomial"&lt;/span&gt; 					&lt;/p&gt;		 								 					&lt;p&gt; 					&lt;span class="comment"&gt;' Split&lt;/span&gt;
&lt;br /&gt;					Dim names As String = "Frank,Becky,Ethan,Braden"
&lt;br /&gt;                    Dim parts() As String = names.&lt;b&gt;Split&lt;/b&gt;(",".ToCharArray())   &lt;span class="comment"&gt;' One name in each slot&lt;/span&gt; 					&lt;/p&gt;		 					 					&lt;p&gt;&lt;span class="comment"&gt;' Date to string&lt;/span&gt;
&lt;br /&gt;						Dim dt As New DateTime(1973, 10, 12)
&lt;br /&gt;						Dim s As String = "My birthday: " &amp;amp; dt.ToString("MMM dd, yyyy")   &lt;span class="comment"&gt;' Oct 12, 1973&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;' Integer to String&lt;/span&gt;
&lt;br /&gt;					Dim x As Integer = 2
&lt;br /&gt;                    Dim y As String = x.ToString()     &lt;span class="comment"&gt;' y is "2"&lt;/span&gt;         					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;' String to Integer&lt;/span&gt;
&lt;br /&gt;					Dim x As Integer = Convert.ToInt32("-5")      &lt;span class="comment"&gt;' x is -5&lt;/span&gt;  					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Mutable string 							
&lt;br /&gt;						&lt;/span&gt;Dim buffer As New System.Text.&lt;b&gt;StringBuilder&lt;/b&gt;("two ")
&lt;br /&gt;						buffer.Append("three ")
&lt;br /&gt;						buffer.Insert(0, "one ")
&lt;br /&gt;						buffer.Replace("two", "TWO")
&lt;br /&gt;						Console.WriteLine(buffer)         &lt;span class="comment"&gt; 							' Prints "one TWO three"&lt;/span&gt; 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td valign="top"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Escape sequences&lt;/span&gt;
&lt;br /&gt;                                                \r    &lt;span class="comment"&gt;// carriage-return&lt;/span&gt;
&lt;br /&gt;						\n    &lt;span class="comment"&gt;// line-feed&lt;/span&gt;
&lt;br /&gt;                                                						\t    &lt;span class="comment"&gt;// tab&lt;/span&gt;
&lt;br /&gt;						\\    &lt;span class="comment"&gt;// backslash&lt;/span&gt;
&lt;br /&gt;						\"    &lt;span class="comment"&gt;// quote&lt;/span&gt; 					
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;						&lt;/p&gt; 						&lt;p&gt;	&lt;span class="comment"&gt;// String concatenation&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;string&lt;/b&gt; school = "Harding\t"; 						
&lt;br /&gt;						school = school + "University";   &lt;span class="comment"&gt;// school is  							"Harding (tab) University"&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Chars&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;char&lt;/b&gt; letter = school[0];   						          &lt;span class="comment"&gt;//  							letter is H&lt;/span&gt; 						
&lt;br /&gt;						letter = Convert.ToChar(65);     &lt;span class="comment"&gt;// letter is A&lt;/span&gt; 						
&lt;br /&gt;						letter = &lt;b&gt;(char)&lt;/b&gt;65;                    						&lt;span class="comment"&gt;// same thing 							
&lt;br /&gt;						&lt;/span&gt;&lt;b&gt;char[]&lt;/b&gt; word = school.ToCharArray();   &lt;span class="comment"&gt; 							// word holds Harding&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// String literal&lt;/span&gt; 						
&lt;br /&gt;						string msg = &lt;b&gt;@&lt;/b&gt;"File is c:\temp\x.dat"; 						
&lt;br /&gt;						&lt;span class="comment"&gt;// same as&lt;/span&gt; 						
&lt;br /&gt;						string msg = "File is c:\\temp\\x.dat"; 						
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// String comparison&lt;/span&gt;
&lt;br /&gt;						string mascot = "Bisons"; 						
&lt;br /&gt;						if (mascot == "Bisons")    &lt;span class="comment"&gt;// true&lt;/span&gt;
&lt;br /&gt;						if (mascot.&lt;b&gt;Equals&lt;/b&gt;("Bisons"))   &lt;span class="comment"&gt;//  							true&lt;/span&gt;
&lt;br /&gt;						if (mascot.&lt;b&gt;ToUpper&lt;/b&gt;().&lt;b&gt;Equals&lt;/b&gt;("BISONS"))   						&lt;span class="comment"&gt;// true&lt;/span&gt;
&lt;br /&gt;						if (mascot.&lt;b&gt;CompareTo&lt;/b&gt;("Bisons") == 0)    &lt;span class="comment"&gt; 							// true&lt;/span&gt;&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;// String matching - No Like equivalent, use Regex&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt;
&lt;br /&gt;					&lt;span class="comment"&gt;// Substring&lt;/span&gt;
&lt;br /&gt;					s = mascot.&lt;b&gt;Substring&lt;/b&gt;(2, 3))     &lt;span class="comment"&gt;// s is "son"&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;// Replacement&lt;/span&gt;
&lt;br /&gt;					s = mascot.&lt;b&gt;Replace&lt;/b&gt;("sons", "nomial"))     &lt;span class="comment"&gt;// s is "Binomial"&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;// Split&lt;/span&gt;
&lt;br /&gt;					string names = "Frank,Becky,Ethan,Braden";
&lt;br /&gt;                    string[] parts = names.&lt;b&gt;Split&lt;/b&gt;(",".ToCharArray());   &lt;span class="comment"&gt;// One name in each slot&lt;/span&gt; 					&lt;/p&gt; 					 					&lt;p&gt; 					&lt;span class="comment"&gt;// Date to string&lt;/span&gt;
&lt;br /&gt;						DateTime dt = new DateTime(1973, 10, 12);
&lt;br /&gt;						string s = dt.ToString("MMM dd, yyyy");     &lt;span class="comment"&gt;// Oct 12, 1973&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt; 					&lt;span class="comment"&gt;// int to string&lt;/span&gt;
&lt;br /&gt;					int x = 2;
&lt;br /&gt;                    string y = x.ToString();      &lt;span class="comment"&gt;// y is "2"&lt;/span&gt; 					&lt;/p&gt; 					&lt;span class="comment"&gt;// string to int&lt;/span&gt;
&lt;br /&gt;					int x = Convert.ToInt32("-5");     &lt;span class="comment"&gt;// x is -5&lt;/span&gt;        					 					&lt;p&gt;&lt;span class="comment"&gt;// Mutable string&lt;/span&gt; 						
&lt;br /&gt;						System.Text.&lt;b&gt;StringBuilder&lt;/b&gt; buffer = new System.Text.&lt;b&gt;StringBuilder&lt;/b&gt;("two  						"); 						
&lt;br /&gt;						buffer.&lt;b&gt;Append&lt;/b&gt;("three "); 						
&lt;br /&gt;						buffer.&lt;b&gt;Insert&lt;/b&gt;(0, "one "); 						
&lt;br /&gt;						buffer.&lt;b&gt;Replace&lt;/b&gt;("two", "TWO"); 						
&lt;br /&gt;						Console.WriteLine(buffer);     &lt;span class="comment"&gt;// Prints  							"one TWO three"&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table22" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" id="regex" width="60%"&gt;&lt;span style="font-size:130%;"&gt;Regular Expressions&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr&gt; 				&lt;td valign="top"&gt; 				&lt;p&gt; 				Imports System.Text.RegularExpressions 				&lt;/p&gt; 				&lt;p&gt; 				&lt;span class="comment"&gt;' Match a string pattern&lt;/span&gt;
&lt;br /&gt;					 					Dim r As New &lt;b&gt;Regex&lt;/b&gt;("j[aeiou]h?. \d:*", RegexOptions.IgnoreCase Or _
&lt;br /&gt;        RegexOptions.Compiled)
&lt;br /&gt;					If (r.&lt;b&gt;Match&lt;/b&gt;("John 3:16").Success) Then   &lt;span class="comment"&gt;'true&lt;/span&gt;
&lt;br /&gt;					    Console.WriteLine("Match")
&lt;br /&gt;                    End If 				&lt;/p&gt; 				 				&lt;p&gt; 				&lt;span class="comment"&gt;' Find and remember all matching patterns&lt;/span&gt;
&lt;br /&gt;				 				Dim s As String = "My number is 305-1881, not 305-1818."
&lt;br /&gt;        Dim r As New Regex("(\d+-\d+)")
&lt;br /&gt;        Dim m As &lt;b&gt;Match&lt;/b&gt; = r.Match(s)     &lt;span class="comment"&gt;' Matches 305-1881 and 305-1818&lt;/span&gt;
&lt;br /&gt;        While m.Success
&lt;br /&gt;                Console.WriteLine("Found number: " &amp;amp; m.Groups(1).Value &amp;amp; " at position " _
&lt;br /&gt;                     &amp;amp; m.Groups(1).Index.ToString)
&lt;br /&gt;                m = m.NextMatch()
&lt;br /&gt;        End While &lt;/p&gt;                 &lt;p&gt;                     &lt;span class="comment"&gt;' Remeber multiple parts of matched pattern&lt;/span&gt;
&lt;br /&gt;                    Dim r As New Regex("(\d\d):(\d\d) (am|pm)")
&lt;br /&gt;                    Dim m As Match = r.Match("We left at 03:15 pm.")
&lt;br /&gt;                    If m.Success Then
&lt;br /&gt;                        Console.WriteLine("Hour: " &amp;amp; m.Groups(1).ToString)        &lt;span class="comment"&gt;' 03&lt;/span&gt;
&lt;br /&gt;                        Console.WriteLine("Min: " &amp;amp; m.Groups(2).ToString)            &lt;span class="comment"&gt;' 15&lt;/span&gt;
&lt;br /&gt;                        Console.WriteLine("Ending: " &amp;amp; m.Groups(3).ToString)    &lt;span class="comment"&gt;' pm&lt;/span&gt;
&lt;br /&gt;                    End If                 &lt;/p&gt;                                  &lt;p&gt;                     &lt;span class="comment"&gt;' Replace all occurrances of a pattern&lt;/span&gt;
&lt;br /&gt;                    Dim r As New Regex("h\w+?d", RegexOptions.IgnoreCase)
&lt;br /&gt;                    Dim s As String = r.&lt;b&gt;Replace&lt;/b&gt;("I heard this was HARD!", "easy")   &lt;span class="comment"&gt;' I easy this was easy!&lt;/span&gt;                 &lt;/p&gt;                  &lt;p&gt;                     &lt;span class="comment"&gt;' Replace matched patterns&lt;/span&gt;
&lt;br /&gt;         	    Dim s As String = Regex.&lt;b&gt;Replace&lt;/b&gt;("123 &lt;&gt; $1")   &lt;span class="comment"&gt;' 456 &gt; 123&lt;/span&gt;                 &lt;/p&gt;                  &lt;p&gt;                     &lt;span class="comment"&gt;' Split a string based on a pattern&lt;/span&gt;
&lt;br /&gt;                    Dim names As String = "Frank, Becky, Ethan, Braden"
&lt;br /&gt;                    Dim r As New Regex(",\s*")
&lt;br /&gt;                    Dim parts() As String = r.&lt;b&gt;Split&lt;/b&gt;(names)   &lt;span class="comment"&gt;' One name in each slot&lt;/span&gt;         				&lt;/p&gt; 				&lt;/td&gt;     				&lt;td valign="top"&gt; 				&lt;p&gt;using System.Text.RegularExpressions;&lt;/p&gt; 				&lt;p&gt; 				&lt;span class="comment"&gt;// Match a string pattern&lt;/span&gt; 					
&lt;br /&gt;					 					&lt;b&gt;Regex&lt;/b&gt; r = new &lt;b&gt;Regex&lt;/b&gt;(@"j[aeiou]h?. \d:*", RegexOptions.IgnoreCase |
&lt;br /&gt;        RegexOptions.Compiled);
&lt;br /&gt;                    if (r.&lt;b&gt;Match&lt;/b&gt;("John 3:16").Success)    &lt;span class="comment"&gt;// true&lt;/span&gt;
&lt;br /&gt;                        Console.WriteLine("Match");                								 				&lt;/p&gt; 				&lt;p&gt; 				
&lt;br /&gt;				&lt;span class="comment"&gt;// Find and remember all matching patterns&lt;/span&gt;
&lt;br /&gt;				string s = "My number is 305-1881, not 305-1818.";
&lt;br /&gt;                Regex r = new Regex("(\\d+-\\d+)");
&lt;br /&gt;&lt;span class="comment"&gt;// Matches 305-1881 and 305-1818&lt;/span&gt;
&lt;br /&gt;                for (&lt;b&gt;Match&lt;/b&gt; m = r.Match(s); m.Success; m = m.NextMatch())
&lt;br /&gt;                    Console.WriteLine("Found number: " + m.Groups[1] + " at position " +
&lt;br /&gt;        m.Groups[1].Index);              				&lt;/p&gt; 				&lt;p&gt;
&lt;br /&gt;
&lt;br /&gt;				&lt;span class="comment"&gt;// Remeber multiple parts of matched pattern&lt;/span&gt;
&lt;br /&gt;            Regex r = new Regex("@(\d\d):(\d\d) (am|pm)");
&lt;br /&gt;            Match m = r.Match("We left at 03:15 pm.");
&lt;br /&gt;            if (m.Success) {
&lt;br /&gt;                    Console.WriteLine("Hour: " + m.Groups[1]);       &lt;span class="comment"&gt;// 03&lt;/span&gt;
&lt;br /&gt;                    Console.WriteLine("Min: " + m.Groups[2]);          &lt;span class="comment"&gt;// 15&lt;/span&gt;
&lt;br /&gt;                    Console.WriteLine("Ending: " + m.Groups[3]);   &lt;span class="comment"&gt;// pm&lt;/span&gt;
&lt;br /&gt;            } 				&lt;/p&gt; 				 			&lt;p&gt; 			&lt;span class="comment"&gt;// Replace all occurrances of a pattern&lt;/span&gt;
&lt;br /&gt;            Regex r = new Regex("h\\w+?d", RegexOptions.IgnoreCase);
&lt;br /&gt;            string s = r.&lt;b&gt;Replace&lt;/b&gt;("I heard this was HARD!", "easy"));   &lt;span class="comment"&gt;// I easy this was easy!&lt;/span&gt; 			&lt;/p&gt; 			                         &lt;p&gt; 			&lt;span class="comment"&gt;// Replace matched patterns&lt;/span&gt;
&lt;br /&gt;            string s = Regex.&lt;b&gt;Replace&lt;/b&gt;("123 &lt;&gt; $1");   &lt;span class="comment"&gt;// 456 &gt; 123&lt;/span&gt;  			&lt;/p&gt;&lt;p&gt; 			&lt;span class="comment"&gt;// Split a string based on a pattern&lt;/span&gt;
&lt;br /&gt;			string names = "Frank, Becky, Ethan, Braden";
&lt;br /&gt;            Regex r = new Regex(@",\s*");
&lt;br /&gt;            string[] parts = r.&lt;b&gt;Split&lt;/b&gt;(names);   &lt;span class="comment"&gt;// One name in each slot&lt;/span&gt; 			&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 				 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table12" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="exceptionhandling"&gt;&lt;/a&gt;Exception Handling&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="96"&gt; 					 					&lt;p&gt;&lt;span class="comment"&gt;' Throw an exception&lt;/span&gt;
&lt;br /&gt;						Dim ex As New Exception("Something is really wrong.") 						
&lt;br /&gt;						&lt;b&gt;Throw&lt;/b&gt;  ex  					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Catch an exception&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Try&lt;/b&gt;
&lt;br /&gt;						  y = 0
&lt;br /&gt;						  x = 10 / y
&lt;br /&gt;						&lt;b&gt;Catch&lt;/b&gt; ex As Exception &lt;b&gt;When&lt;/b&gt; y = 0 &lt;span class="comment"&gt; 							' Argument and When is optional&lt;/span&gt;
&lt;br /&gt;						  Console.WriteLine(ex.Message) 						
&lt;br /&gt;						&lt;b&gt;Finally&lt;/b&gt; 						
&lt;br /&gt;						  Beep() 						
&lt;br /&gt;						&lt;b&gt;End Try
&lt;br /&gt;						&lt;/b&gt; 					&lt;/p&gt; &lt;p&gt;&lt;span class="comment"&gt;' Deprecated unstructured error handling&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;On&lt;/b&gt; Error &lt;b&gt;GoTo&lt;/b&gt; MyErrorHandler
&lt;br /&gt;						...
&lt;br /&gt;						MyErrorHandler: Console.WriteLine(Err.Description)
&lt;br /&gt;					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="96"&gt; 					&lt;p&gt; 						&lt;span class="comment"&gt;// Throw an exception&lt;/span&gt;
&lt;br /&gt;						Exception up = new Exception("Something is really wrong."); 						
&lt;br /&gt;						&lt;b&gt;throw&lt;/b&gt; up;  &lt;span class="comment"&gt;// ha ha &lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Catch an exception&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;try&lt;/b&gt; {
&lt;br /&gt;						  y = 0; 						
&lt;br /&gt;						  x = 10 / y; 						
&lt;br /&gt;						} 						
&lt;br /&gt;						&lt;b&gt;catch&lt;/b&gt; (Exception ex) {   &lt;span class="comment"&gt;//  							Argument is optional, no "When" keyword&lt;/span&gt;
&lt;br /&gt;						  Console.WriteLine(ex.Message); 						
&lt;br /&gt;						} 						
&lt;br /&gt;						&lt;b&gt;finally&lt;/b&gt; { 						
&lt;br /&gt;						  Microsoft.VisualBasic.Interaction.Beep(); 						
&lt;br /&gt;						} 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table13" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="namespaces"&gt;&lt;/a&gt;Namespaces&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;b&gt;Namespace&lt;/b&gt; Harding.Compsci.Graphics
&lt;br /&gt;						  ...
&lt;br /&gt;						&lt;b&gt;End Namespace&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' or&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Namespace&lt;/b&gt; Harding 						
&lt;br /&gt;						  &lt;b&gt;Namespace&lt;/b&gt; Compsci 						
&lt;br /&gt;						    &lt;b&gt;Namespace&lt;/b&gt; Graphics
&lt;br /&gt;						      ...
&lt;br /&gt;						    &lt;b&gt;End Namespace&lt;/b&gt; 						
&lt;br /&gt;						  &lt;b&gt;End Namespace 							
&lt;br /&gt;							End Namespace&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Imports&lt;/b&gt; Harding.Compsci.Graphics 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;b&gt;namespace&lt;/b&gt; Harding.Compsci.Graphics {
&lt;br /&gt;						  ...
&lt;br /&gt;						} 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// or&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;namespace&lt;/b&gt; Harding {
&lt;br /&gt;						  &lt;b&gt;namespace&lt;/b&gt; Compsci {
&lt;br /&gt;						    &lt;b&gt;namespace&lt;/b&gt; Graphics {
&lt;br /&gt;						      ...
&lt;br /&gt;						    }
&lt;br /&gt;						  }
&lt;br /&gt;						} 					&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;using&lt;/b&gt; Harding.Compsci.Graphics; 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table style="width: 775px; height: 24px;" class="header" id="Table14" border="0"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="classesinterfaces"&gt;&lt;/a&gt;Classes /  								Interfaces&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Accessibility keywords&lt;/span&gt; 						
&lt;br /&gt;						Public
&lt;br /&gt;						Private
&lt;br /&gt;						Friend                    						
&lt;br /&gt;						Protected
&lt;br /&gt;						Protected Friend
&lt;br /&gt;						Shared&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Inheritance&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Class&lt;/b&gt; FootballGame
&lt;br /&gt;						  &lt;b&gt;Inherits&lt;/b&gt; Competition
&lt;br /&gt;						  ...
&lt;br /&gt;						&lt;b&gt;End Class&lt;/b&gt; &lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Interface definition&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Interface&lt;/b&gt; IAlarmClock
&lt;br /&gt;						  ...
&lt;br /&gt;						&lt;b&gt;End Interface&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Extending an interface &lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Interface&lt;/b&gt; IAlarmClock 						
&lt;br /&gt;						  &lt;b&gt;Inherits&lt;/b&gt; IClock
&lt;br /&gt;						  ...
&lt;br /&gt;						&lt;b&gt;End Interface&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Interface implementation&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Class&lt;/b&gt; WristWatch
&lt;br /&gt;						  &lt;b&gt;Implements&lt;/b&gt; IAlarmClock, ITimer
&lt;br /&gt;						   ...
&lt;br /&gt;						&lt;b&gt;End Class&lt;/b&gt; &lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;&lt;span class="comment"&gt;Accessibility keywords&lt;/span&gt; 						
&lt;br /&gt;						public
&lt;br /&gt;						private
&lt;br /&gt;						internal
&lt;br /&gt;						protected
&lt;br /&gt;						protected internal
&lt;br /&gt;						static&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Inheritance&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;class&lt;/b&gt; FootballGame &lt;b&gt;:&lt;/b&gt; Competition {
&lt;br /&gt;						  ...
&lt;br /&gt;						} 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;
&lt;br /&gt;							// Interface definition&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;interface&lt;/b&gt; IAlarmClock {
&lt;br /&gt;						  ...
&lt;br /&gt;						} 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Extending an interface &lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;interface&lt;/b&gt; IAlarmClock &lt;b&gt;:&lt;/b&gt; IClock {
&lt;br /&gt;						  ...
&lt;br /&gt;						} 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;
&lt;br /&gt;							// Interface implementation&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;class&lt;/b&gt; WristWatch &lt;b&gt;:&lt;/b&gt; IAlarmClock, ITimer {
&lt;br /&gt;						   ...
&lt;br /&gt;						} 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table15" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="constructorsdestructors"&gt;&lt;/a&gt;Constructors  								/ Destructors&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="176"&gt;&lt;b&gt;Class&lt;/b&gt; SuperHero
&lt;br /&gt;					  Private _powerLevel As Integer 					
&lt;br /&gt;					
&lt;br /&gt;					  Public Sub &lt;b&gt;New&lt;/b&gt;() 					
&lt;br /&gt;					    _powerLevel = 0 					
&lt;br /&gt;					  End Sub 					
&lt;br /&gt;					
&lt;br /&gt;					  Public Sub &lt;b&gt;New&lt;/b&gt;(ByVal powerLevel As Integer) 					
&lt;br /&gt;					    Me._powerLevel = powerLevel 					
&lt;br /&gt;					  End Sub
&lt;br /&gt;					
&lt;br /&gt;					  Protected Overrides Sub &lt;b&gt;Finalize&lt;/b&gt;()
&lt;br /&gt;					   &lt;span class="comment"&gt;' Desctructor code to free unmanaged  						resources&lt;/span&gt; 					
&lt;br /&gt;					    MyBase.Finalize() 					
&lt;br /&gt;					  End Sub
&lt;br /&gt;					&lt;b&gt;End Class&lt;/b&gt; 					 				&lt;/td&gt; 				&lt;td height="176"&gt; 					&lt;p&gt;&lt;b&gt;class&lt;/b&gt; SuperHero {
&lt;br /&gt;						  private int _powerLevel;
&lt;br /&gt;						
&lt;br /&gt;						  public SuperHero() {
&lt;br /&gt;						     _powerLevel = 0;
&lt;br /&gt;						  }
&lt;br /&gt;						
&lt;br /&gt;						  public SuperHero(int powerLevel) {
&lt;br /&gt;						    this._powerLevel= powerLevel;
&lt;br /&gt;						  }
&lt;br /&gt;						
&lt;br /&gt;						  &lt;b&gt;~&lt;/b&gt;SuperHero() {
&lt;br /&gt;						    &lt;span class="comment"&gt;// Destructor code to free unmanaged  							resources.
&lt;br /&gt;							    // Implicitly creates a Finalize method&lt;/span&gt;
&lt;br /&gt;						  }
&lt;br /&gt;						}&lt;/p&gt; 					 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table16" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="objects"&gt;&lt;/a&gt;Using Objects&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;Dim hero As SuperHero = New SuperHero
&lt;br /&gt;					&lt;span class="comment"&gt;' or&lt;/span&gt;
&lt;br /&gt;						Dim hero As New SuperHero 					&lt;/p&gt; 					&lt;p&gt; 						&lt;b&gt;With&lt;/b&gt; hero 						
&lt;br /&gt;						  .Name = "SpamMan" 						
&lt;br /&gt;						  .PowerLevel = 3 						
&lt;br /&gt;						&lt;b&gt;End With&lt;/b&gt; 						
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt; 						hero.Defend("Laura Jones") 						
&lt;br /&gt;						hero.Rest()     &lt;span class="comment"&gt;' Calling Shared method&lt;/span&gt;
&lt;br /&gt;						&lt;span class="comment"&gt;' or&lt;/span&gt;
&lt;br /&gt;						SuperHero.Rest() 					&lt;/p&gt; 					&lt;p&gt;Dim hero2 As SuperHero = hero  &lt;span class="comment"&gt;' Both reference the same  							object&lt;/span&gt; 						
&lt;br /&gt;						hero2.Name = "WormWoman" 						
&lt;br /&gt;						Console.WriteLine(hero.Name)   &lt;span class="comment"&gt;' Prints WormWoman&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;hero = &lt;b&gt;Nothing&lt;/b&gt;    &lt;span class="comment"&gt;' Free the object&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;If hero &lt;b&gt;Is&lt;/b&gt; &lt;b&gt;Nothing&lt;/b&gt; Then _ 						
&lt;br /&gt;						  hero = New SuperHero&lt;/p&gt; 					&lt;p&gt;Dim obj As Object = New SuperHero 						
&lt;br /&gt;						If &lt;b&gt;TypeOf&lt;/b&gt; obj &lt;b&gt;Is&lt;/b&gt; SuperHero Then _
&lt;br /&gt;						  Console.WriteLine("Is a SuperHero object.") 					&lt;/p&gt; 					&lt;p&gt; 				&lt;span class="comment"&gt;' Mark object for quick disposal&lt;/span&gt;
&lt;br /&gt;                &lt;b&gt;Using&lt;/b&gt; reader As StreamReader = File.OpenText("test.txt")
&lt;br /&gt;                      Dim line As String = reader.ReadLine()
&lt;br /&gt;                      While Not line Is Nothing
&lt;br /&gt;                        Console.WriteLine(line)
&lt;br /&gt;                        line = reader.ReadLine()
&lt;br /&gt;                      End While
&lt;br /&gt;                &lt;b&gt;End Using&lt;/b&gt; 				&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163"&gt; 					&lt;p&gt;SuperHero hero = new SuperHero(); 						
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt; 						&lt;span class="comment"&gt;// No "With" construct&lt;/span&gt;
&lt;br /&gt;						hero.Name = "SpamMan"; 						
&lt;br /&gt;						hero.PowerLevel = 3; 						
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt;hero.Defend("Laura Jones");
&lt;br /&gt;						SuperHero.Rest();   &lt;span class="comment"&gt;// Calling static method&lt;/span&gt;&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						
&lt;br /&gt;						SuperHero hero2 = hero;   &lt;span class="comment"&gt;// Both reference the same  							object&lt;/span&gt; 						
&lt;br /&gt;						hero2.Name = "WormWoman"; 						
&lt;br /&gt;						Console.WriteLine(hero.Name);   &lt;span class="comment"&gt;// Prints WormWoman&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;hero = &lt;b&gt;null&lt;/b&gt; ;   &lt;span class="comment"&gt;// Free the object&lt;/span&gt; 					&lt;/p&gt; 					&lt;p&gt;if (hero == &lt;b&gt;null&lt;/b&gt;)
&lt;br /&gt;						  hero = new SuperHero();&lt;/p&gt; 					&lt;p&gt;Object obj = new SuperHero();
&lt;br /&gt;						if (obj &lt;b&gt;is&lt;/b&gt; SuperHero) 						
&lt;br /&gt;						  Console.WriteLine("Is a SuperHero object."); 					&lt;/p&gt; 					&lt;span class="comment"&gt;// Mark object for quick disposal&lt;/span&gt;
&lt;br /&gt;                    &lt;b&gt;using&lt;/b&gt; (StreamReader reader = File.OpenText("test.txt")) {
&lt;br /&gt;                      string line;
&lt;br /&gt;                      while ((line = reader.ReadLine()) != null)
&lt;br /&gt;                        Console.WriteLine(line);
&lt;br /&gt;                    }  				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table17" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="structs"&gt;&lt;/a&gt;Structs&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="256"&gt; 					&lt;p&gt;&lt;b&gt;Structure&lt;/b&gt; StudentRecord 						
&lt;br /&gt;						  Public name As String 						
&lt;br /&gt;						  Public gpa As Single 						
&lt;br /&gt;						
&lt;br /&gt;						  Public Sub New(ByVal name As String, ByVal gpa As Single) 						
&lt;br /&gt;						    Me.name = name 						
&lt;br /&gt;						    Me.gpa = gpa 						
&lt;br /&gt;						  End Sub 						
&lt;br /&gt;						&lt;b&gt;End Structure&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;Dim stu As StudentRecord = New StudentRecord("Bob", 3.5) 						
&lt;br /&gt;						Dim stu2 As StudentRecord = stu   						
&lt;br /&gt;						
&lt;br /&gt;						stu2.name = "Sue" 						
&lt;br /&gt;						Console.WriteLine(stu.name)    &lt;span class="comment"&gt;' Prints Bob&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(stu2.name)  &lt;span class="comment"&gt;' Prints Sue&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="256"&gt;&lt;b&gt;struct&lt;/b&gt; StudentRecord {
&lt;br /&gt;					  public string name;
&lt;br /&gt;					  public float gpa;
&lt;br /&gt;					
&lt;br /&gt;					  public StudentRecord(string name, float gpa) {
&lt;br /&gt;					    this.name = name;
&lt;br /&gt;					    this.gpa = gpa;
&lt;br /&gt;					  }
&lt;br /&gt;					}
&lt;br /&gt;					&lt;p&gt;StudentRecord stu = new StudentRecord("Bob", 3.5f);
&lt;br /&gt;						StudentRecord stu2 = stu; 
&lt;br /&gt;						
&lt;br /&gt;						stu2.name = "Sue";
&lt;br /&gt;						Console.WriteLine(stu.name);    &lt;span class="comment"&gt;// Prints Bob&lt;/span&gt;
&lt;br /&gt;						Console.WriteLine(stu2.name);   &lt;span class="comment"&gt;// Prints Sue&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table18" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="properties"&gt;&lt;/a&gt;Properties&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="134" width="50%"&gt; 					&lt;p&gt;Private _size As Integer
&lt;br /&gt;						
&lt;br /&gt;						Public &lt;b&gt;Property&lt;/b&gt; Size() As Integer
&lt;br /&gt;						  &lt;b&gt;Get&lt;/b&gt; 						
&lt;br /&gt;						    Return _size 						
&lt;br /&gt;						  &lt;b&gt;End Get&lt;/b&gt; 						
&lt;br /&gt;						  &lt;b&gt;Set&lt;/b&gt; (ByVal Value As Integer) 						
&lt;br /&gt;						    If Value &lt; 0 Then 						
&lt;br /&gt;						      _size = 0 						
&lt;br /&gt;						    Else 						
&lt;br /&gt;						      _size = Value 						
&lt;br /&gt;						    End If 						
&lt;br /&gt;						  &lt;b&gt;End Set&lt;/b&gt; 						
&lt;br /&gt;						&lt;b&gt;End Property&lt;/b&gt;&lt;/p&gt; 					&lt;p&gt;foo.Size += 1&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="134" width="50%"&gt;private int _size;
&lt;br /&gt;					
&lt;br /&gt;					public int Size { 					
&lt;br /&gt;					  &lt;b&gt;get&lt;/b&gt; { 					
&lt;br /&gt;					    return _size; 					
&lt;br /&gt;					  } 					
&lt;br /&gt;					  &lt;b&gt;set&lt;/b&gt; { 					
&lt;br /&gt;					    if (value &lt; 0) 					
&lt;br /&gt;					      _size = 0; 					
&lt;br /&gt;					    else 					
&lt;br /&gt;					      _size = value; 					
&lt;br /&gt;					  } 					
&lt;br /&gt;					} 					&lt;p&gt;
&lt;br /&gt;						foo.Size++; 					&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table19" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="delegatesandevents"&gt;&lt;/a&gt;Delegates / Events&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="134" width="50%"&gt; 					&lt;p&gt;&lt;b&gt;Delegate&lt;/b&gt; Sub MsgArrivedEventHandler(ByVal message As String)&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;Event&lt;/b&gt; MsgArrivedEvent As MsgArrivedEventHandler&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' or to define an event which declares a delegate implicitly&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;Event&lt;/b&gt; MsgArrivedEvent(ByVal message As String) 					&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;AddHandler&lt;/b&gt; MsgArrivedEvent, &lt;b&gt;AddressOf&lt;/b&gt; My_MsgArrivedCallback 						
&lt;br /&gt;						&lt;span class="comment"&gt;' Won't throw an exception if obj is Nothing
&lt;br /&gt;						&lt;/span&gt;&lt;b&gt;RaiseEvent&lt;/b&gt; MsgArrivedEvent("Test message") 						
&lt;br /&gt;						&lt;b&gt;RemoveHandler&lt;/b&gt; MsgArrivedEvent, &lt;b&gt;AddressOf&lt;/b&gt; My_MsgArrivedCallback
&lt;br /&gt;					&lt;/p&gt; 					&lt;p&gt;Imports System.Windows.Forms&lt;/p&gt; 					&lt;p&gt;Dim &lt;b&gt;WithEvents&lt;/b&gt; MyButton As Button   &lt;span class="comment"&gt; 							' WithEvents can't be used on local variable&lt;/span&gt;
&lt;br /&gt;						MyButton = New Button&lt;/p&gt; 					&lt;p&gt;Private Sub MyButton_Click(ByVal sender As System.Object, _
&lt;br /&gt;						  ByVal e As System.EventArgs) &lt;b&gt;Handles&lt;/b&gt; MyButton.Click 						
&lt;br /&gt;						  MessageBox.Show(Me, "Button was clicked", "Info", _
&lt;br /&gt;						    MessageBoxButtons.OK, MessageBoxIcon.Information) 						
&lt;br /&gt;						End Sub&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="134" width="50%"&gt; 					&lt;p&gt;&lt;b&gt;delegate&lt;/b&gt; void MsgArrivedEventHandler(string message); 					&lt;/p&gt; 					&lt;p&gt;&lt;b&gt;event&lt;/b&gt; MsgArrivedEventHandler MsgArrivedEvent;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Delegates must be used with events in C#&lt;/span&gt;
&lt;br /&gt;						
&lt;br /&gt;						
&lt;br /&gt;						MsgArrivedEvent &lt;b&gt;+=&lt;/b&gt; new  						MsgArrivedEventHandler(My_MsgArrivedEventCallback);
&lt;br /&gt;						MsgArrivedEvent("Test message");    &lt;span class="comment"&gt;// Throws  							exception if obj is null&lt;/span&gt;
&lt;br /&gt;						MsgArrivedEvent &lt;b&gt;-=&lt;/b&gt; new  						MsgArrivedEventHandler(My_MsgArrivedEventCallback);&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						
&lt;br /&gt;						using System.Windows.Forms;&lt;/p&gt; 					&lt;p&gt;Button MyButton = new Button();
&lt;br /&gt;						MyButton.Click += new System.EventHandler(MyButton_Click);&lt;/p&gt; 					&lt;p&gt;private void MyButton_Click(object sender, System.EventArgs e) { 						
&lt;br /&gt;						  MessageBox.Show(this, "Button was clicked", "Info", 						
&lt;br /&gt;						    MessageBoxButtons.OK, MessageBoxIcon.Information); 						
&lt;br /&gt;						}&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table class="header" id="Table20" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="#consoleio"&gt;&lt;/a&gt;Console I/O&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163" width="50%"&gt; 					&lt;p&gt;Console.Write("What's your name? ") 						
&lt;br /&gt;						Dim name As String = Console.ReadLine() 						
&lt;br /&gt;						Console.Write("How old are you? ") 						
&lt;br /&gt;						Dim age As Integer = Val(Console.ReadLine()) 						
&lt;br /&gt;						Console.WriteLine("{0} is {1} years old.", name, age)  						
&lt;br /&gt;						&lt;span class="comment"&gt;' or&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(name &amp;amp; " is " &amp;amp; age &amp;amp; " years old.") 						
&lt;br /&gt;						
&lt;br /&gt;						Dim c As Integer 						
&lt;br /&gt;						c = Console.Read()    &lt;span class="comment"&gt;' Read single char&lt;/span&gt; 						
&lt;br /&gt;						Console.WriteLine(c)   &lt;span class="comment"&gt;' Prints 65 if user enters  							"A"&lt;/span&gt; 					&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163" width="50%"&gt; 					&lt;p&gt;Console.Write("What's your name? ");
&lt;br /&gt;						string name = Console.ReadLine();
&lt;br /&gt;						Console.Write("How old are you? ");
&lt;br /&gt;						int age = Convert.ToInt32(Console.ReadLine());
&lt;br /&gt;						Console.WriteLine("{0} is {1} years old.", name, age);
&lt;br /&gt;						&lt;span class="comment"&gt;// or&lt;/span&gt;
&lt;br /&gt;						Console.WriteLine(name + " is " + age + " years old."); 					&lt;/p&gt; 					&lt;p&gt;
&lt;br /&gt;						int c = Console.Read();  &lt;span class="comment"&gt;// Read single char&lt;/span&gt;
&lt;br /&gt;						Console.WriteLine(c);    &lt;span class="comment"&gt;// Prints 65 if user  							enters "A"&lt;/span&gt;&lt;/p&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr align="center"&gt; 				&lt;td colspan="2"&gt; 					&lt;table id="Table21" class="header" border="0" width="100%"&gt; 						&lt;tbody&gt;&lt;tr align="center"&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;VB.NET&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading" width="60%"&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="fileio"&gt;&lt;/a&gt;File I/O&lt;/span&gt;&lt;/td&gt; 							&lt;td style="font-weight: bold; font-style: italic;" class="heading2" width="20%"&gt;&lt;span style="font-size:130%;"&gt;C#&lt;/span&gt;&lt;/td&gt; 						&lt;/tr&gt; 					&lt;/tbody&gt;&lt;/table&gt; 				&lt;/td&gt; 			&lt;/tr&gt; 			&lt;tr valign="top"&gt; 				&lt;td height="163" width="50%"&gt; 					&lt;p&gt;Imports System.IO&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Write out to text file&lt;/span&gt;
&lt;br /&gt;						Dim writer As &lt;b&gt;StreamWriter&lt;/b&gt; = File.CreateText("c:\myfile.txt") 						
&lt;br /&gt;						writer.WriteLine("Out to file.") 						
&lt;br /&gt;						writer.Close() 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Read all lines from text file&lt;/span&gt;
&lt;br /&gt;						Dim reader As &lt;b&gt;StreamReader&lt;/b&gt; = File.OpenText("c:\myfile.txt") 						
&lt;br /&gt;						Dim line As String = reader.ReadLine() 						
&lt;br /&gt;						While Not line Is Nothing 						
&lt;br /&gt;						  Console.WriteLine(line) 						
&lt;br /&gt;						  line = reader.ReadLine() 						
&lt;br /&gt;						End While 						
&lt;br /&gt;						reader.Close() 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Write out to binary file&lt;/span&gt;
&lt;br /&gt;						Dim str As String = "Text data" 						
&lt;br /&gt;						Dim num As Integer = 123 						
&lt;br /&gt;						Dim binWriter As New &lt;b&gt;BinaryWriter&lt;/b&gt;(File.OpenWrite("c:\myfile.dat"))  						
&lt;br /&gt;						binWriter.Write(str)  						
&lt;br /&gt;						binWriter.Write(num)
&lt;br /&gt;						binWriter.Close()&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;' Read from binary file&lt;/span&gt;
&lt;br /&gt;						Dim binReader As New &lt;b&gt;BinaryReader&lt;/b&gt;(File.OpenRead("c:\myfile.dat")) 						
&lt;br /&gt;						str = binReader.ReadString() 						
&lt;br /&gt;						num = binReader.ReadInt32() 						
&lt;br /&gt;						binReader.Close()&lt;/p&gt; 				&lt;/td&gt; 				&lt;td height="163" width="50%"&gt; 					&lt;p&gt;using System.IO;&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Write out to text file&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;StreamWriter&lt;/b&gt; writer = File.CreateText("c:\\myfile.txt"); 						
&lt;br /&gt;						writer.WriteLine("Out to file."); 						
&lt;br /&gt;						writer.Close(); 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Read all lines from text file&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;StreamReader&lt;/b&gt; reader = File.OpenText("c:\\myfile.txt"); 						
&lt;br /&gt;						string line = reader.ReadLine(); 						
&lt;br /&gt;						while (line != null) {
&lt;br /&gt;						  Console.WriteLine(line); 						
&lt;br /&gt;						  line = reader.ReadLine(); 						
&lt;br /&gt;						} 						
&lt;br /&gt;						reader.Close(); 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Write out to binary file&lt;/span&gt;
&lt;br /&gt;						string str = "Text data"; 						
&lt;br /&gt;						int num = 123; 						
&lt;br /&gt;						&lt;b&gt;BinaryWriter&lt;/b&gt; binWriter = new  						BinaryWriter(File.OpenWrite("c:\\myfile.dat")); 						
&lt;br /&gt;						binWriter.Write(str); 						
&lt;br /&gt;						binWriter.Write(num); 						
&lt;br /&gt;						binWriter.Close(); 					&lt;/p&gt; 					&lt;p&gt;&lt;span class="comment"&gt;// Read from binary file&lt;/span&gt;
&lt;br /&gt;						&lt;b&gt;BinaryReader&lt;/b&gt; binReader = new  						BinaryReader(File.OpenRead("c:\\myfile.dat")); 						
&lt;br /&gt;						str = binReader.ReadString(); 						
&lt;br /&gt;						num = binReader.ReadInt32(); 						
&lt;br /&gt;						binReader.Close();&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-8792003602970958442?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Rb0cKz6mN0pfiejeE9vic79N-ns/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rb0cKz6mN0pfiejeE9vic79N-ns/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Rb0cKz6mN0pfiejeE9vic79N-ns/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rb0cKz6mN0pfiejeE9vic79N-ns/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/AYLiGAQtxag" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/8792003602970958442/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=8792003602970958442" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8792003602970958442?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8792003602970958442?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/AYLiGAQtxag/cnet-and-vbnet-keyword-differences.html" title="C#.Net and Vb.Net Keyword Differences" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/12/cnet-and-vbnet-keyword-differences.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIHQHw_cCp7ImA9WxBTEko.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7358255130038619322</id><published>2009-12-08T05:18:00.000-08:00</published><updated>2009-12-08T05:22:11.248-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T05:22:11.248-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="C# Keyword differences" /><title>Equivalent keyword C# 's typeof() in VB</title><content type="html">Equivalent keyword in typeof()1&lt;br /&gt;&lt;br /&gt;...is in &lt;span style="font-weight:bold;"&gt;C#&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;typeof(Foo)&lt;br /&gt;&lt;br /&gt;...is in &lt;span style="font-weight:bold;"&gt;VB&lt;/span&gt;...it's...&lt;br /&gt;&lt;br /&gt;GetType(Foo)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7358255130038619322?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fOghtm3dBQogIOkyIaCpABiVRDU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fOghtm3dBQogIOkyIaCpABiVRDU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fOghtm3dBQogIOkyIaCpABiVRDU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fOghtm3dBQogIOkyIaCpABiVRDU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/f5kPkV_OHY8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7358255130038619322/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7358255130038619322" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7358255130038619322?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7358255130038619322?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/f5kPkV_OHY8/equivalent-keyword-c-s-typeof-in-vb.html" title="Equivalent keyword C# 's typeof() in VB" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/12/equivalent-keyword-c-s-typeof-in-vb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBRXw4eyp7ImA9WxNaEk4.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-8551483891064187640</id><published>2009-11-26T01:52:00.000-08:00</published><updated>2009-11-26T02:12:34.233-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-26T02:12:34.233-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Master Page" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.Net" /><title>Usage of @MasterType</title><content type="html">The @MasterType Page Declarative of a page is used to access the public properties and methods of a master page to the sub level of content page&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Example :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1:&lt;/span&gt;&lt;br /&gt;&amp;lt;%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage_MasterPage" %&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;title&amp;gt;ScriptManager in Master Page Example&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;form id="form1" runat="server"&amp;gt;&lt;br /&gt;       &amp;lt;div&amp;gt;&lt;br /&gt;           &amp;lt;asp:scriptmanager id="ScriptManager1" runat="server"&amp;gt;&lt;br /&gt;               &amp;lt;asp:panel id="MasterPanel1" runat="server" groupingtext="Master Page"&amp;gt;&lt;br /&gt;                  &amp;lt;asp:button id="Button1" runat="server" text="Full Page Refresh"&amp;gt;&lt;br /&gt;                  &amp;lt;asp:button id="Button2" runat="server" text="Refresh Panel" onclick="MasterButton2_Click"&amp;gt;&lt;br /&gt;               &amp;lt;/asp:button&amp;gt;&lt;br /&gt;           &amp;lt;asp:contentplaceholder id="ContentPlaceHolder1" runat="server"&amp;gt;&lt;br /&gt;           &amp;lt;/asp:contentplaceholder&amp;gt;&lt;br /&gt;       &amp;lt;/asp:button&amp;gt;&amp;lt;/asp:panel&amp;gt;&amp;lt;/asp:scriptmanager&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;   &amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Create a public property in the MasterPage.master.cs&lt;br /&gt;&lt;br /&gt;public partial class MasterPage_MasterPage : System.Web.UI.MasterPage&lt;br /&gt;{&lt;br /&gt;   public DateTime LastUpdate&lt;br /&gt;   {&lt;br /&gt;       get&lt;br /&gt;       {&lt;br /&gt;           return (DateTime)(ViewState["LastUpdate"] ?? DateTime.Now);&lt;br /&gt;       }&lt;br /&gt;       set&lt;br /&gt;       {&lt;br /&gt;           ViewState["LastUpdate"] = value;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Define the &amp;lt;%@ MasterType %&amp;gt; like this&lt;br /&gt;&lt;br /&gt;&amp;lt;%@ Page Language="C#" MasterPageFile="~/MasterPage/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MasterPage_Default" Title="Untitled Page" %&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;!--define like this--&amp;gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;%@ MasterType VirtualPath="~/MasterPage/MasterPage.master" %&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="Server"&amp;gt;&lt;br /&gt;   &amp;lt;asp:panel id="Panel2" groupingtext="ContentPage" runat="server"&amp;gt;&lt;br /&gt;       &amp;lt;asp:updatepanel id="UpdatePanel1" updatemode="Conditional" runat="server"&amp;gt;&lt;br /&gt;           &amp;lt;contenttemplate&amp;gt;&lt;br /&gt;               &amp;lt;p&amp;gt;&lt;br /&gt;                   Last updated: &amp;lt;strong&amp;gt;&amp;lt;%= Master.LastUpdate.ToString() %&amp;gt;&amp;lt;/strong&amp;gt;&lt;br /&gt;               &amp;lt;/p&amp;gt;&lt;br /&gt;               &amp;lt;asp:button id="Button3" text="Refresh Panel" onclick="Button3_Click" runat="server"&amp;gt;&lt;br /&gt;           &amp;lt;/asp:button&amp;gt;&lt;br /&gt;       &amp;lt;/contenttemplate&amp;gt;&lt;br /&gt;   &amp;lt;/asp:updatepanel&amp;gt;&lt;br /&gt;&amp;lt;/asp:panel&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Then we can use to access the public methods and properties from master page to content page.&lt;br /&gt;&lt;br /&gt;protected void Button3_Click(object sender, EventArgs e)&lt;br /&gt;   {&lt;br /&gt;       Master.LastUpdate = DateTime.Now;&lt;br /&gt;   }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-8551483891064187640?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IH7Z706g7l1j3xjjs_GALEui5fs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IH7Z706g7l1j3xjjs_GALEui5fs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IH7Z706g7l1j3xjjs_GALEui5fs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IH7Z706g7l1j3xjjs_GALEui5fs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/NyL8bU0U0gY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/8551483891064187640/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=8551483891064187640" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8551483891064187640?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8551483891064187640?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/NyL8bU0U0gY/usage-of-mastertype.html" title="Usage of @MasterType" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/usage-of-mastertype.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYFSHkzfip7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-6580400599941917467</id><published>2009-11-24T06:28:00.000-08:00</published><updated>2009-11-24T06:31:59.786-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:31:59.786-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net-Ajax" /><title>PageRequestManager</title><content type="html">&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 11"&gt;&lt;meta name="Originator" content="Microsoft Word 11"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cdhineshp%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;; color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt; prm = Sys.WebForms.PageRequestManager.getInstance();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;prm.add_pageLoaded(PageLoadedEventHandler);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;function&lt;/span&gt; PageLoadedEventHandler() &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;         &lt;/span&gt;alert(&lt;span style="color: rgb(163, 21, 21);"&gt;"Inside PageLoadedEventHandler Working"&lt;/span&gt;);&lt;span style=""&gt;         &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(InitializeRequest);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;function&lt;/span&gt; InitializeRequest()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;        &lt;/span&gt;alert(&lt;span style="color: rgb(163, 21, 21);"&gt;'Initial requets inside...'&lt;/span&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;      &lt;/span&gt;}&lt;span style=""&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; 
&lt;br /&gt;
&lt;br /&gt;By this way, we can fire all the Five ajax page life cycle events.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-6580400599941917467?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_Lwtp-UwKW8B-CsffXAFL73wF-4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Lwtp-UwKW8B-CsffXAFL73wF-4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_Lwtp-UwKW8B-CsffXAFL73wF-4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Lwtp-UwKW8B-CsffXAFL73wF-4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/4_Ae7Gz_gj4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/6580400599941917467/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=6580400599941917467" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/6580400599941917467?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/6580400599941917467?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/4_Ae7Gz_gj4/pagerequestmanager.html" title="PageRequestManager" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/pagerequestmanager.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ENRn49eip7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-2898777357120975912</id><published>2009-11-24T06:06:00.000-08:00</published><updated>2009-11-24T06:08:17.062-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:08:17.062-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Asp.net-Ajax" /><title>Ajax + asp.net Page life cycle</title><content type="html">&lt;div style="font-weight: bold;" class="CollapseRegionLink"&gt; Client Page Life-cycle Events &lt;/div&gt; &lt;div class="MTPS_CollapsibleSection" style="display: block;"&gt;   &lt;a id="sectionToggle1"&gt;&lt;!----&gt;&lt;/a&gt;&lt;p&gt;During ordinary page processing in the browser, the &lt;span&gt;&lt;span class="input"&gt;window.onload&lt;/span&gt;&lt;/span&gt; DOM event is raised when the page first loads. Similarly, the &lt;span&gt;&lt;span class="input"&gt;window.onunload&lt;/span&gt;&lt;/span&gt; DOM event is raised when the page is refreshed or when the user moves away from the page.&lt;/p&gt;&lt;p&gt;However, these events are not raised during asynchronous postbacks. To help you manage these types of events for asynchronous postbacks, the &lt;strong&gt;PageRequestManager&lt;/strong&gt; class exposes a set of events. These resemble &lt;span&gt;&lt;span class="input"&gt;window.load&lt;/span&gt;&lt;/span&gt; and other DOM events, but they also occur during asynchronous postbacks. For each asynchronous postback, all page events in the &lt;strong&gt;PageRequestManager&lt;/strong&gt; class are raised and any attached event handlers are called. &lt;/p&gt;&lt;div class="alert"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;&lt;!--src=[../icons/alert_note.gif]--&gt;&lt;img alt="Note" src="http://i.msdn.microsoft.com/Bb398976.alert_note%28en-us,VS.90%29.gif" /&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;For synchronous postbacks, only the &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl01" href="http://msdn.microsoft.com/en-us/library/bb397523.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl01',this);"&gt;pageLoaded&lt;/a&gt; event is raised. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;You can write client script to handle events raised by the &lt;strong&gt;PageRequestManager&lt;/strong&gt; class. Different event argument objects are passed to handlers for different events. The following table summarizes the &lt;strong&gt;PageRequestManager&lt;/strong&gt; class events and the corresponding event argument classes. The order of the events in the table is the order of the events for a single asynchronous postback without errors.&lt;/p&gt;&lt;dl class="authored"&gt;&lt;dt&gt;&lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl02" href="http://msdn.microsoft.com/en-us/library/bb397460.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl02',this);"&gt;initializeRequest&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Raised before the request is initialized for an asynchronous postback. Event data is passed to handlers as an &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl03" href="http://msdn.microsoft.com/en-us/library/bb311030.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl03',this);"&gt;InitializeRequestEventArgs&lt;/a&gt; object. The object makes available the element that caused the postback and the underlying request object. &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl04" href="http://msdn.microsoft.com/en-us/library/bb397432.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl04',this);"&gt;beginRequest&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Raised just before the asynchronous postback is sent to the server. Event data is passed to handlers as a &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl05" href="http://msdn.microsoft.com/en-us/library/bb384003.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl05',this);"&gt;BeginRequestEventArgs&lt;/a&gt; object. The object makes available the element that caused the postback and the underlying request object.&lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl06" href="http://msdn.microsoft.com/en-us/library/bb383832.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl06',this);"&gt;pageLoading&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Raised after the response to the most recent asynchronous postback has been received but before any updates to the page have been made. Event data is passed to handlers as a &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl07" href="http://msdn.microsoft.com/en-us/library/bb310960.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl07',this);"&gt;PageLoadingEventArgs&lt;/a&gt; object. The object makes available information about what panels will be deleted and updated as a result of the most recent asynchronous postback. &lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl08" href="http://msdn.microsoft.com/en-us/library/bb397523.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl08',this);"&gt;pageLoaded&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Raised after page regions are updated after the most recent postback. Event data is passed to handlers as a &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl09" href="http://msdn.microsoft.com/en-us/library/bb397476.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl09',this);"&gt;PageLoadedEventArgs&lt;/a&gt; object. The object makes available information about what panels were created or updated. For synchronous postbacks, panels can only be created, but for asynchronous postbacks, panels can be both created and updated.&lt;/p&gt;&lt;/dd&gt;&lt;dt&gt;&lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl10" href="http://msdn.microsoft.com/en-us/library/bb383810.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl10',this);"&gt;endRequest&lt;/a&gt;&lt;/dt&gt;&lt;dd&gt;&lt;p&gt;Raised when request processing is finished. Event data is passed to handlers as an &lt;a id="ctl00_MTCS_main_ctl64_ctl00_ctl11" href="http://msdn.microsoft.com/en-us/library/bb397499.aspx" onclick="javascript:Track('ctl00_MTCS_main_ctl64_ctl00_contenthere|ctl00_MTCS_main_ctl64_ctl00_ctl11',this);"&gt;EndRequestEventArgs&lt;/a&gt; object. The object makes available information about errors that have occurred and whether the error was handled. It also makes available the response object.&lt;/p&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-2898777357120975912?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/t3r7MyHQmEuxuWzlopE8dh7ItI0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t3r7MyHQmEuxuWzlopE8dh7ItI0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/t3r7MyHQmEuxuWzlopE8dh7ItI0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t3r7MyHQmEuxuWzlopE8dh7ItI0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/vxlg9qr_tng" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/2898777357120975912/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=2898777357120975912" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/2898777357120975912?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/2898777357120975912?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/vxlg9qr_tng/ajax-aspnet-page-life-cycle.html" title="Ajax + asp.net Page life cycle" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/ajax-aspnet-page-life-cycle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MCQX0yfyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7526092875990141330</id><published>2009-11-23T22:40:00.000-08:00</published><updated>2009-11-24T06:04:20.397-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:04:20.397-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Infragistics" /><title>For creating  and adding Dynamic templated column using Itemplate interface</title><content type="html">&lt;span style="color:#0000ff;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;First have to override the OnIt() method and then we can add the TemplatedColumn in it for creating check box control.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;protected&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override void&lt;/span&gt; OnInit(&lt;span style="color:#008080;"&gt;EventArgs&lt;/span&gt; e) &lt;p&gt;    {&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008000;"&gt;        &lt;span style="color:#0000ff;"&gt;base.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;OnInit(e);&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008000;"&gt;&lt;span style="color:#0000ff;"&gt;        &lt;/span&gt;// Create a templated column&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008080;"&gt;        TemplatedColumn&lt;/span&gt; col = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#008080;"&gt;TemplatedColumn&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;);&lt;/p&gt; &lt;p&gt;&lt;span style="color:#0000ff;"&gt;        this&lt;/span&gt;.UltraWebGrid1.DisplayLayout.Bands[0].Columns.Add(col);&lt;/p&gt; &lt;p&gt;        col.Key = &lt;span style="color:#800000;"&gt;"CheckBoxCol"&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;        col.Header.Caption = &lt;span style="color:#800000;"&gt;""&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008080;"&gt;        GridHeaderTemplate&lt;/span&gt; tempHeader = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#008080;"&gt;GridHeaderTemplate&lt;/span&gt;();&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008000;"&gt;        // Set the header template.&lt;/span&gt;&lt;/p&gt; &lt;p&gt;        col.HeaderTemplate = tempHeader;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#0000ff;"&gt;        this&lt;/span&gt;.UltraWebGrid1.DataSource = LoadGrid();&lt;/p&gt; &lt;p&gt;&lt;span style="color:#0000ff;"&gt;        this&lt;/span&gt;.UltraWebGrid1.DataBind();&lt;/p&gt; &lt;p&gt;    }&lt;/p&gt;&lt;p&gt;/// Class with implementing the ITemplate&lt;/p&gt;&lt;p&gt;-----------------------------------------------------------&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; &lt;span style="color:#008080;"&gt;GridHeaderTemplate&lt;/span&gt; : &lt;span style="color:#008080;"&gt;ITemplate&lt;/span&gt;&lt;/p&gt; &lt;p&gt;{&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;span style="color:#0000ff;"&gt;    public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; InstantiateIn(&lt;span style="color:#008080;"&gt;Control&lt;/span&gt; container)&lt;/p&gt; &lt;p&gt;    {&lt;/p&gt; &lt;p&gt;        &lt;span style="color:#008000;"&gt;// Cast the container to a HeaderItem&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008080;"&gt;        HeaderItem&lt;/span&gt; headerItem = (&lt;span style="color:#008080;"&gt;HeaderItem&lt;/span&gt;)container;&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008080;"&gt;        CheckBox&lt;/span&gt; checkBox = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#008080;"&gt;CheckBox&lt;/span&gt;();&lt;/p&gt; &lt;p&gt;&lt;span style="color:#008080;"&gt;        CheckBox&lt;/span&gt; cb = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#008080;"&gt;CheckBox&lt;/span&gt;();&lt;/p&gt; &lt;p&gt;        cb.ID = &lt;span style="color:#800000;"&gt;"headerCB"&lt;/span&gt;;&lt;/p&gt; &lt;p&gt;        cb.Attributes.Add(&lt;span style="color:#800000;"&gt;"onclick"&lt;/span&gt;, &lt;span style="color:#800000;"&gt;"HeaderCheckedChanged();"&lt;/span&gt;);&lt;/p&gt; &lt;p&gt;        headerItem.Controls.Add(cb);&lt;/p&gt; &lt;p&gt;    }&lt;/p&gt; &lt;p&gt;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7526092875990141330?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eaAJHEPD64i1mMUo4ykSje_RA4k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eaAJHEPD64i1mMUo4ykSje_RA4k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eaAJHEPD64i1mMUo4ykSje_RA4k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eaAJHEPD64i1mMUo4ykSje_RA4k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/z6pN6ii0FAw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7526092875990141330/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7526092875990141330" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7526092875990141330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7526092875990141330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/z6pN6ii0FAw/for-creating-and-adding-dynamic.html" title="For creating  and adding Dynamic templated column using Itemplate interface" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/for-creating-and-adding-dynamic.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QMRXozfSp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-4600205878115247087</id><published>2009-11-20T04:35:00.000-08:00</published><updated>2009-11-24T06:03:04.485-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:03:04.485-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net 3.5 features" /><title>.net Features in C# 3.5</title><content type="html">&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Automatic Property setters/getters   &lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;   &lt;br /&gt;    Whenever you declare a class, most of the times the class is used only as a placeholder with getters and setters for         holding property values without any additional logic. For example, consider a simple class like the following:&lt;br /&gt;&lt;br /&gt;    public class Person&lt;br /&gt;    {&lt;br /&gt;        int _id;&lt;br /&gt;        string _firstName;&lt;br /&gt;        string _lastName;&lt;br /&gt;        public int ID     {        get{return _id;}        set{_id = value;}    }&lt;br /&gt;        public string FirstName    {        get{return _firstName;}        set{_firstName = value;}    }&lt;br /&gt;        public string LastName    {        get{return _lastName;}        set{_lastName = value;}    }&lt;br /&gt;        public string FullName    {        get{return FirstName + " " + LastName;}    }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    As you can see from the above class declaration, it doesn't contain any additional logic. The get and set properties         are repetitive and they simply set or get the values of the properties without adding any value. In C#, you can         simplify that by leveraging the new feature named Auto-Implemented properties. By taking advantage of this new             feature, you can rewrite the above code as follows:&lt;br /&gt;&lt;br /&gt;    public class Person&lt;br /&gt;    {&lt;br /&gt;        public int ID { get; set; }&lt;br /&gt;        public string FirstName { get; set; }   &lt;br /&gt;        public string LastName { get; set; }&lt;br /&gt;        public string FullName&lt;br /&gt;        {&lt;br /&gt;            get&lt;br /&gt;            {&lt;br /&gt;                return FirstName + " " + LastName;&lt;br /&gt;            }&lt;br /&gt;        private set {;}&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    In the above code, when you declare a property, the compiler automatically creates a private, anonymous field that is     available only to the property's get and set accessors. Note that the auto implemented properties must declare both a     get and set accessor. However if you need to create a read-only property, modify the scope of the set accessor to be         private.&lt;br /&gt;   &lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;·     Object Initializers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;·     Collection Initializers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;·     Extension Methods&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;·     Implicitly Typed Variable&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;·     Anonymous Types&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;New features in asp.net 3.5&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;////-----------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    ASP.NET AJAX&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    New Controls (ListView and DataPager)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    New Data Source Control (LinqDataSource)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    LINQ (Language Integrated Query) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    ASP.NET Merge Tool:&lt;/span&gt;&lt;br /&gt;        (ASP.NET 3.5 includes a new merge tool (aspnet_merge.exe). This tool lets you combine  and manage assemblies  created by aspnet_compiler.exe)&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    New Assemblies&lt;/span&gt;&lt;br /&gt;    ·   System.Core.dll - Includes the implementation for LINQ to Objects&lt;br /&gt;    ·   System.Data.Linq.dll - Includes the implementation for LINQ to SQL&lt;br /&gt;    ·   System.Xml.Linq.dll - Includes the implementation for LINQ to XML&lt;br /&gt;    ·   System.Data.DataSetExtensions.dll - Includes the implementation for LINQ to DataSet&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-4600205878115247087?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/K9TeU5aKIOiDtPHEnxMoamudKOE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K9TeU5aKIOiDtPHEnxMoamudKOE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/K9TeU5aKIOiDtPHEnxMoamudKOE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/K9TeU5aKIOiDtPHEnxMoamudKOE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/o4aGmYO4N2A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/4600205878115247087/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=4600205878115247087" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/4600205878115247087?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/4600205878115247087?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/o4aGmYO4N2A/net-features-in-c-35.html" title=".net Features in C# 3.5" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/net-features-in-c-35.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MERHk9eyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-8989799769628038002</id><published>2009-11-20T04:31:00.000-08:00</published><updated>2009-11-24T06:03:25.763-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:03:25.763-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net 3.0 features" /><title>.Net Framework 3.0 features</title><content type="html">&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Framework 3.0 features&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Implicitly typed local variables &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  // i is compiled as an int&lt;br /&gt;  var i = 5;&lt;br /&gt;&lt;br /&gt;  // s is compiled as a string&lt;br /&gt;  var s = "Hello";&lt;br /&gt;&lt;br /&gt;  // a is compiled as int[]&lt;br /&gt;  var a = new[] { 0, 1, 2 };&lt;br /&gt;&lt;br /&gt;  // expr is compiled as IEnumerable&lt;customer&gt;&lt;br /&gt;  // or perhaps IQueryable&lt;customer&gt;&lt;br /&gt;  var expr =&lt;br /&gt;      from c in customers&lt;br /&gt;      where c.City == "London"&lt;br /&gt;      select c;&lt;br /&gt;&lt;br /&gt;  // anon is compiled as an anonymous type&lt;br /&gt;  var anon = new { Name = "Terry", Age = 34 };&lt;br /&gt;&lt;br /&gt;  // list is compiled as List&lt;int&gt;                          &lt;br /&gt;  var list = new List&lt;int&gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Anonymous types &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  C# 3.0 gives you the flexibility to create an instance of a class without having to write code for the class             beforehand. So, you now can write code as shown below:&lt;br /&gt;&lt;br /&gt;  new {hair="black", skin="green", teethCount=64}&lt;br /&gt;  The preceding line of code, with the help of the "new" keyword, gives you a new type that has three properties: hair,     skin, and teethCount. Behind the scenes, the C# compiler would create a class that looks as follows:&lt;br /&gt;&lt;br /&gt;  class __Anonymous1&lt;br /&gt;  {&lt;br /&gt;     private string _hair = "black";&lt;br /&gt;     private string _skin = "green";&lt;br /&gt;     private int _teeth   = 64;&lt;br /&gt;     public string hair {get { return _hair; } set { _hair = value; }}&lt;br /&gt;     public string skin {get { return _skin; } set { _skin = value; }}&lt;br /&gt;     public int teeth {get { return _teeth; } set { _teeth = value; }}&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Extension methods &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  Extension methods enable you to extend various types with additional static methods. However, they are quite limited         and should be used as a last resort—only where instance methods are insufficient.&lt;br /&gt;&lt;br /&gt;  Extension methods can be declared only in static classes and are identified by the keyword "this" as a modifier on         the first parameter of the method. The following is an example of a valid extension method:&lt;br /&gt;&lt;br /&gt;  public static int ToInt32(this string s)&lt;br /&gt;  {&lt;br /&gt;     return Convert.ToInt32(s) ;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  If the static class that contains the above method is imported using the "using" keyword, the ToInt32 method will         appear in existing types (albeit in lower precedence to existing instance methods), and you will be able to compile         and execute code that looks as follows:&lt;br /&gt;&lt;br /&gt;  string s = "1";&lt;br /&gt;  int i    = s.ToInt32();&lt;br /&gt;&lt;br /&gt;  This allows you to take advantage of the extensible nature of various built-in or defined types and add newer methods     to them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Object and collection initializers &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  public class CoOrdinate&lt;br /&gt;  {&lt;br /&gt;     public int x ;&lt;br /&gt;     public int y;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  You then could declare and initialize a CoOrdinate object using an object initializer, like this:&lt;br /&gt;&lt;br /&gt;  var myCoOrd = new CoOrdinate{ x = 0, y= 0} ;&lt;br /&gt;  The above code may have made you raise your eyebrows and ask, "Why not just write the following:"&lt;br /&gt;&lt;br /&gt;  var myCoOrd = new CoOrdinate(0, 0) ;&lt;br /&gt;&lt;br /&gt;  Note: I never declared a constructor that accepted two parameters in my class. In fact, initializing the object using         an object initializer essentially is equivalent to calling a parameterless (default) constructor of the             CoOrdinate object and then assigning the relevant values.Similarly, you should easily be able to give values             to Collections in a rather concise and compact manner in C# 3.0.For instance, the following C# 2.0 code:&lt;br /&gt;&lt;br /&gt;  List&lt;string&gt; animals = new List&lt;string&gt;();&lt;br /&gt;  animals.Add("monkey");&lt;br /&gt;  animals.Add("donkey");&lt;br /&gt;  animals.Add("cow");&lt;br /&gt;  animals.Add("dog");&lt;br /&gt;  animals.Add("cat");&lt;br /&gt;&lt;br /&gt;  Now can be shortened to simply:&lt;br /&gt;&lt;br /&gt;  List&lt;string&gt; animals = new List&lt;string&gt; {&lt;br /&gt;         "monkey", "donkey", "cow", "dog", "cat" } ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Lambda expressions &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  It Allowes you to write code blocks in methods, which you could invoke easily using delegates. Delegates are             definitely useful, and they are used throughout the framework, but in many instances you had to declare a method or a     class just to use one. Thus, to give you an easier and more concise way of writing code, C# 2.0 allowed you to             replace standard calls to delegates with anonymous methods. The following code may have been written in .NET 1.1 or         earlier:&lt;br /&gt;&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;     delegate void DemoDelegate();&lt;br /&gt;     static void Main(string[] args)&lt;br /&gt;     {&lt;br /&gt;        DemoDelegate myDelegate = new DemoDelegate(SayHi);&lt;br /&gt;        myDelegate();&lt;br /&gt;     }&lt;br /&gt;     void SayHi()&lt;br /&gt;     {&lt;br /&gt;        Console.Writeline("Hiya!!") ;&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  In C# 2.0, using anonymous methods, you could rewrite the code as follows:&lt;br /&gt;&lt;br /&gt;  class Program&lt;br /&gt;  {&lt;br /&gt;     delegate void DemoDelegate();&lt;br /&gt;     static void Main(string[] args)&lt;br /&gt;     {&lt;br /&gt;        DemoDelegate myDelegate = delegate()&lt;br /&gt;           {&lt;br /&gt;              Console.Writeline("Hiya!!");&lt;br /&gt;           };&lt;br /&gt;        myDelegate();&lt;br /&gt;        }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  Lambda expressions are simply functions and they are declared in the context of expressions than as a member of a         class. It is an inline expression or a statement block which can be used to pass arguments to a method or assign         value to delegate. All lambda expressions use the lambda operator =&gt; and the left side of the operator denotes the         results and the right side contains the expression to be evaluated. For instance, consider the following lambda         expression:&lt;br /&gt;&lt;br /&gt;  age =&gt; age + 1;&lt;br /&gt;&lt;br /&gt;  The above function takes one argument named age, and returns age + 1 as the result. As you can see, Lambda             expressions follow the below syntax:&lt;br /&gt;&lt;br /&gt;  (parameter-list) =&gt; expression;&lt;br /&gt;&lt;br /&gt;  where expression can be any C# expression or a block of code. Just like anonymous methods you can use a lambda             expression in place of a delegate. Here are some sample lambda expressions and their corresponding delegates.&lt;br /&gt;&lt;br /&gt;  //Explicitly typed parameter&lt;br /&gt;  (Person obj) =&gt; MessageBox.Show(obj.FirstName.ToUpper());&lt;br /&gt;&lt;br /&gt;  //Implicitly typed parameter&lt;br /&gt;  (obj) =&gt; obj.FirstName == "Thiru";&lt;br /&gt;&lt;br /&gt;  //Explicitly typed parameter&lt;br /&gt;  (int a, int b) =&gt; a + b&lt;br /&gt;&lt;br /&gt;  //Implicitly typed parameter&lt;br /&gt;  (x, y) =&gt; { return x + y; }&lt;br /&gt;&lt;br /&gt;  As you see from the preceding lines of code, lambda expressions can be written in such a way that itcan infer the         parameter type from the signature of the delegate it is assigned to.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Query expressions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  Even though further enhancements may be introduced in the coming months as C# 3.0 matures, the new features described     in the preceding sections make it a lot easier to work with data inside C# in general. This feature, also known as         LINQ (Language Integrated Query), allows you to write SQL-like syntax in C#.&lt;br /&gt;&lt;br /&gt;  For instance, you may have a class that describes your data as follows:&lt;br /&gt;&lt;br /&gt;  public class CoOrdinate&lt;br /&gt;  {&lt;br /&gt;     public int x ;&lt;br /&gt;     public int y;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  You now could easily declare the logical equivalent of a database table inside C# as follows:&lt;br /&gt;&lt;br /&gt;  // Use Object and collection initializers&lt;br /&gt;  List&lt;coordinate&gt; coords = ... ;&lt;br /&gt;&lt;br /&gt;  And now that you have your data as a collection that implements IEnumerable&lt;t&gt;, you easily can query this data as         follows: &lt;br /&gt;&lt;br /&gt;  var filteredCoords =&lt;br /&gt;     from c in coords&lt;br /&gt;     where x == 1&lt;br /&gt;     select (c.x, c.y)&lt;br /&gt;&lt;br /&gt;  In the SQL-like syntax above, "from", "where", and "select" are query expressions that take advantage of C# 3.0         features such as anonymous types, extension methods, implicit typed local variables, and so forth. This way, you can         leverage SQL-like syntax and work with disconnected data easily.&lt;br /&gt;&lt;br /&gt;  Each query expression is actually translated into a C#-like invocation behind the scenes. For instance, the             following:&lt;br /&gt;&lt;br /&gt;  where x == 1&lt;br /&gt;  Translates to this:&lt;br /&gt;&lt;br /&gt;  coords.where(c =&gt; c.x == 1)&lt;br /&gt;  As you can see, the above looks an awful lot like a lambda expression and extension method. C# 3.0 has many other         query expressions and rules that surround them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Expression Trees &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  Expression trees represent language-level code in the form of data. The data is stored in a tree-shaped structure.         Each node in the expression tree represents an expression, for example a method call or a binary operation such as&lt;br /&gt;  x &lt;&gt;&lt;int,&gt;&gt; exprTree = num =&gt; num &lt; param =" (ParameterExpression)exprTree.Parameters[0];" operation =" (BinaryExpression)exprTree.Body;" left =" (ParameterExpression)operation.Left;" right =" (ConstantExpression)operation.Right;"&gt; {1} {2} {3}",&lt;br /&gt;                    param.Name, left.Name, operation.NodeType, right.Value);&lt;br /&gt;&lt;br /&gt;  /*  This code produces the following output:&lt;br /&gt;&lt;br /&gt;      Decomposed expression: num =&gt; num LessThan 5&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Implicitly typed arrays. &lt;/span&gt;&lt;br /&gt;  class ImplicitlyTypedArraySample&lt;br /&gt;  {&lt;br /&gt;      static void Main()&lt;br /&gt;      {&lt;br /&gt;          var a = new[] { 1, 10, 100, 1000 }; // int[]&lt;br /&gt;          var b = new[] { "hello", null, "world" }; // string[]&lt;br /&gt;&lt;br /&gt;          // single-dimension jagged array&lt;br /&gt;          var c = new[]&lt;br /&gt;      {&lt;br /&gt;          new[]{1,2,3,4},&lt;br /&gt;          new[]{5,6,7,8}&lt;br /&gt;      };&lt;br /&gt;&lt;br /&gt;          // jagged array of strings&lt;br /&gt;          var d = new[]&lt;br /&gt;      {&lt;br /&gt;          new[]{"Luca", "Mads", "Luke", "Dinesh"},&lt;br /&gt;          new[]{"Karen", "Suma", "Frances"}&lt;br /&gt;      };&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;/int,&gt;&lt;/t&gt;&lt;/coordinate&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/int&gt;&lt;/int&gt;&lt;/customer&gt;&lt;/customer&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;Framework 3.0 Language features&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;.    WPF&lt;br /&gt;.    WCF&lt;br /&gt;.    WF&lt;br /&gt;&lt;br /&gt;&lt;customer&gt;&lt;customer&gt;&lt;int&gt;&lt;int&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;string&gt;&lt;coordinate&gt;&lt;t&gt;&lt;int,&gt;&lt;br /&gt;&lt;/int,&gt;&lt;/t&gt;&lt;/coordinate&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/int&gt;&lt;/int&gt;&lt;/customer&gt;&lt;/customer&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-8989799769628038002?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k9JrBkXf2dZFHhlGRQT1Y1xDTVU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k9JrBkXf2dZFHhlGRQT1Y1xDTVU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k9JrBkXf2dZFHhlGRQT1Y1xDTVU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k9JrBkXf2dZFHhlGRQT1Y1xDTVU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/516ZWoGWOOs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/8989799769628038002/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=8989799769628038002" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8989799769628038002?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/8989799769628038002?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/516ZWoGWOOs/net-framework-30-features.html" title=".Net Framework 3.0 features" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/net-framework-30-features.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QFSHkyfip7ImA9WxNaEk8.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-4020221143085215395</id><published>2009-11-20T04:28:00.000-08:00</published><updated>2009-11-25T23:41:59.796-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-25T23:41:59.796-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net 3.0 features" /><title>.Net Framework 3.0 features</title><content type="html">&lt;span style="font-weight: bold;"&gt;.Implicitly typed local variables&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;// i is compiled as an int&lt;br /&gt;var i = 5;&lt;br /&gt;&lt;br /&gt;// s is compiled as a string&lt;br /&gt;var s = "Hello";&lt;br /&gt;&lt;br /&gt;// a is compiled as int[]&lt;br /&gt;var a = new[] { 0, 1, 2 };&lt;br /&gt;&lt;br /&gt;// expr is compiled as IEnumerable&lt;customer&gt;&lt;br /&gt;// or perhaps IQueryable&lt;customer&gt;&lt;br /&gt;var expr =&lt;br /&gt;    from c in customers&lt;br /&gt;    where c.City == "London"&lt;br /&gt;    select c;&lt;br /&gt;&lt;br /&gt;// anon is compiled as an anonymous type&lt;br /&gt;var anon = new { Name = "Terry", Age = 34 };&lt;br /&gt;&lt;br /&gt;// list is compiled as List&lt;int&gt;                           &lt;br /&gt;var list = new List&lt;int&gt;();&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Anonymous types&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;C# 3.0 gives you the flexibility to create an instance of a class without having to write code for the class    beforehand. So, you now can write code as shown below:&lt;br /&gt;&lt;br /&gt;new {hair="black", skin="green", teethCount=64}&lt;br /&gt;The preceding line of code, with the help of the "new" keyword, gives you a new type that has three properties: hair,  skin, and teethCount. Behind the scenes, the C# compiler would create a class that looks as follows:&lt;br /&gt;&lt;br /&gt;class __Anonymous1&lt;br /&gt;{&lt;br /&gt;   private string _hair = "black";&lt;br /&gt;   private string _skin = "green";&lt;br /&gt;   private int _teeth   = 64;&lt;br /&gt;   public string hair {get { return _hair; } set { _hair = value; }}&lt;br /&gt;   public string skin {get { return _skin; } set { _skin = value; }}&lt;br /&gt;   public int teeth {get { return _teeth; } set { _teeth = value; }}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Extension methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Extension methods enable you to extend various types with additional static methods. However, they are quite limited   and should be used as a last resort—only where instance methods are insufficient.&lt;br /&gt;&lt;br /&gt;Extension methods can be declared only in static classes and are identified by the keyword "this" as a modifier on   the first parameter of the method. The following is an example of a valid extension method:&lt;br /&gt;&lt;br /&gt;public static int ToInt32(this string s)&lt;br /&gt;{&lt;br /&gt;   return Convert.ToInt32(s) ;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;If the static class that contains the above method is imported using the "using" keyword, the ToInt32 method will   appear in existing types (albeit in lower precedence to existing instance methods), and you will be able to compile   and execute code that looks as follows:&lt;br /&gt;&lt;br /&gt;string s = "1";&lt;br /&gt;int i    = s.ToInt32();&lt;br /&gt;&lt;br /&gt;This allows you to take advantage of the extensible nature of various built-in or defined types and add newer methods  to them.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Object and collection initializers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;public class CoOrdinate&lt;br /&gt;{&lt;br /&gt;   public int x ;&lt;br /&gt;   public int y;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;You then could declare and initialize a CoOrdinate object using an object initializer, like this:&lt;br /&gt;&lt;br /&gt;var myCoOrd = new CoOrdinate{ x = 0, y= 0} ;&lt;br /&gt;The above code may have made you raise your eyebrows and ask, "Why not just write the following:"&lt;br /&gt;&lt;br /&gt;var myCoOrd = new CoOrdinate(0, 0) ;&lt;br /&gt;&lt;br /&gt;Note: I never declared a constructor that accepted two parameters in my class. In fact, initializing the object using   an object initializer essentially is equivalent to calling a parameterless (default) constructor of the    CoOrdinate object and then assigning the relevant values.Similarly, you should easily be able to give values    to Collections in a rather concise and compact manner in C# 3.0.For instance, the following C# 2.0 code:&lt;br /&gt;&lt;br /&gt;List&lt;string&gt; animals = new List&lt;string&gt;();&lt;br /&gt;animals.Add("monkey");&lt;br /&gt;animals.Add("donkey");&lt;br /&gt;animals.Add("cow");&lt;br /&gt;animals.Add("dog");&lt;br /&gt;animals.Add("cat");&lt;br /&gt;&lt;br /&gt;Now can be shortened to simply:&lt;br /&gt;&lt;br /&gt;List&lt;string&gt; animals = new List&lt;string&gt; {&lt;br /&gt;    "monkey", "donkey", "cow", "dog", "cat" } ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Lambda expressions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It Allowes you to write code blocks in methods, which you could invoke easily using delegates. Delegates are    definitely useful, and they are used throughout the framework, but in many instances you had to declare a method or a  class just to use one. Thus, to give you an easier and more concise way of writing code, C# 2.0 allowed you to    replace standard calls to delegates with anonymous methods. The following code may have been written in .NET 1.1 or   earlier:&lt;br /&gt;&lt;br /&gt;class Program&lt;br /&gt;{&lt;br /&gt;   delegate void DemoDelegate();&lt;br /&gt;   static void Main(string[] args)&lt;br /&gt;   {&lt;br /&gt;      DemoDelegate myDelegate = new DemoDelegate(SayHi);&lt;br /&gt;      myDelegate();&lt;br /&gt;   }&lt;br /&gt;   void SayHi()&lt;br /&gt;   {&lt;br /&gt;      Console.Writeline("Hiya!!") ;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;In C# 2.0, using anonymous methods, you could rewrite the code as follows:&lt;br /&gt;&lt;br /&gt;class Program&lt;br /&gt;{&lt;br /&gt;   delegate void DemoDelegate();&lt;br /&gt;   static void Main(string[] args)&lt;br /&gt;   {&lt;br /&gt;      DemoDelegate myDelegate = delegate()&lt;br /&gt;        {&lt;br /&gt;            Console.Writeline("Hiya!!");&lt;br /&gt;        };&lt;br /&gt;      myDelegate();&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lambda expressions are simply functions and they are declared in the context of expressions than as a member of a   class. It is an inline expression or a statement block which can be used to pass arguments to a method or assign   value to delegate. All lambda expressions use the lambda operator =&gt; and the left side of the operator denotes the   results and the right side contains the expression to be evaluated. For instance, consider the following lambda   expression:&lt;br /&gt;&lt;br /&gt;age =&gt; age + 1;&lt;br /&gt;&lt;br /&gt;The above function takes one argument named age, and returns age + 1 as the result. As you can see, Lambda    expressions follow the below syntax:&lt;br /&gt;&lt;br /&gt;(parameter-list) =&gt; expression;&lt;br /&gt;&lt;br /&gt;where expression can be any C# expression or a block of code. Just like anonymous methods you can use a lambda    expression in place of a delegate. Here are some sample lambda expressions and their corresponding delegates.&lt;br /&gt;&lt;br /&gt;//Explicitly typed parameter&lt;br /&gt;(Person obj) =&gt; MessageBox.Show(obj.FirstName.ToUpper());&lt;br /&gt;&lt;br /&gt;//Implicitly typed parameter&lt;br /&gt;(obj) =&gt; obj.FirstName == "Thiru";&lt;br /&gt;&lt;br /&gt;//Explicitly typed parameter&lt;br /&gt;(int a, int b) =&gt; a + b&lt;br /&gt;&lt;br /&gt;//Implicitly typed parameter&lt;br /&gt;(x, y) =&gt; { return x + y; }&lt;br /&gt;&lt;br /&gt;As you see from the preceding lines of code, lambda expressions can be written in such a way that itcan infer the   parameter type from the signature of the delegate it is assigned to.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Query expressions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Even though further enhancements may be introduced in the coming months as C# 3.0 matures, the new features described  in the preceding sections make it a lot easier to work with data inside C# in general. This feature, also known as   LINQ (Language Integrated Query), allows you to write SQL-like syntax in C#.&lt;br /&gt;&lt;br /&gt;For instance, you may have a class that describes your data as follows:&lt;br /&gt;&lt;br /&gt;public class CoOrdinate&lt;br /&gt;{&lt;br /&gt;   public int x ;&lt;br /&gt;   public int y;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;You now could easily declare the logical equivalent of a database table inside C# as follows:&lt;br /&gt;&lt;br /&gt;// Use Object and collection initializers&lt;br /&gt;List&lt;coordinate&gt; coords = ... ;&lt;br /&gt;&lt;br /&gt;And now that you have your data as a collection that implements IEnumerable&lt;t&gt;, you easily can query this data as   follows:&lt;br /&gt;&lt;br /&gt;var filteredCoords =&lt;br /&gt;   from c in coords&lt;br /&gt;   where x == 1&lt;br /&gt;   select (c.x, c.y)&lt;br /&gt;&lt;br /&gt;In the SQL-like syntax above, "from", "where", and "select" are query expressions that take advantage of C# 3.0   features such as anonymous types, extension methods, implicit typed local variables, and so forth. This way, you can   leverage SQL-like syntax and work with disconnected data easily.&lt;br /&gt;&lt;br /&gt;Each query expression is actually translated into a C#-like invocation behind the scenes. For instance, the    following:&lt;br /&gt;&lt;br /&gt;where x == 1&lt;br /&gt;Translates to this:&lt;br /&gt;&lt;br /&gt;coords.where(c =&gt; c.x == 1)&lt;br /&gt;As you can see, the above looks an awful lot like a lambda expression and extension method. C# 3.0 has many other   query expressions and rules that surround them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Expression Trees&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Expression trees represent language-level code in the form of data. The data is stored in a tree-shaped structure.   Each node in the expression tree represents an expression, for example a method call or a binary operation such as&lt;br /&gt;x &lt;&gt;&lt;int, bool=""&gt;&gt; exprTree = num =&gt; num &lt; param =" (ParameterExpression)exprTree.Parameters[0];" operation =" (BinaryExpression)exprTree.Body;" left =" (ParameterExpression)operation.Left;" right =" (ConstantExpression)operation.Right;"&gt; {1} {2} {3}",&lt;br /&gt;                  param.Name, left.Name, operation.NodeType, right.Value);&lt;br /&gt;&lt;br /&gt;/*  This code produces the following output:&lt;br /&gt;&lt;br /&gt;    Decomposed expression: num =&gt; num LessThan 5&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;. Implicitly typed arrays.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; class ImplicitlyTypedArraySample&lt;br /&gt;{&lt;br /&gt;    static void Main()&lt;br /&gt;    {&lt;br /&gt;       var a = new[] { 1, 10, 100, 1000 }; // int[]&lt;br /&gt;        var b = new[] { "hello", null, "world" }; // string[]&lt;br /&gt;&lt;br /&gt;        // single-dimension jagged array&lt;br /&gt;        var c = new[] &lt;br /&gt; {&lt;br /&gt;     new[]{1,2,3,4},&lt;br /&gt;     new[]{5,6,7,8}&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;       // jagged array of strings&lt;br /&gt;        var d = new[] &lt;br /&gt; {&lt;br /&gt;     new[]{"Luca", "Mads", "Luke", "Dinesh"},&lt;br /&gt;     new[]{"Karen", "Suma", "Frances"}&lt;br /&gt; };&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/int,&gt;&lt;/t&gt;&lt;/coordinate&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/string&gt;&lt;/int&gt;&lt;/int&gt;&lt;/customer&gt;&lt;/customer&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-4020221143085215395?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N5CVUBHfoAStbVc7g7KOLJeqr5k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N5CVUBHfoAStbVc7g7KOLJeqr5k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N5CVUBHfoAStbVc7g7KOLJeqr5k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N5CVUBHfoAStbVc7g7KOLJeqr5k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/FYQUOP0FVhQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/4020221143085215395/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=4020221143085215395" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/4020221143085215395?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/4020221143085215395?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/FYQUOP0FVhQ/net-framework-30-features_20.html" title=".Net Framework 3.0 features" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/net-framework-30-features_20.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QCQ3g7fyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-3053151670504086789</id><published>2009-11-20T04:19:00.000-08:00</published><updated>2009-11-24T06:02:42.607-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:02:42.607-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".Net 2.0" /><title>.Net Framework 2.0 Features (New)</title><content type="html">&lt;span style="font-weight: bold;"&gt;1.C#.Net 2.0 and ASP.Net 2.0&lt;/span&gt;&lt;br /&gt;//-------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.New Features in C# 2.0&lt;/span&gt;&lt;br /&gt;/////----------------------------------------&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.New Features in C# 2.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Generic Types&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   Generics were added to version 2.0 of the C# language and the common language runtime (CLR). Generics introduce to         the .NET Framework the concept of type parameters, which make it possible to design classes and methods that defer         the specification of one or more types until the class or method is declared and instantiated by client code. For         example, by using a generic type parameter T you can write a single class that other client code can use without         incurring the cost or     risk of runtime casts or boxing operations, as shown here:&lt;br /&gt;&lt;br /&gt;   C#&lt;br /&gt;   // Declare the generic class.&lt;br /&gt;   public class GenericList&lt;t&gt;&lt;br /&gt;   {&lt;br /&gt;       void Add(T input) { }&lt;br /&gt;   }&lt;br /&gt;   class TestGenericList&lt;br /&gt;   {&lt;br /&gt;       private class ExampleClass { }&lt;br /&gt;       static void Main()&lt;br /&gt;       {&lt;br /&gt;           // Declare a list of type int.&lt;br /&gt;           GenericList&lt;int&gt; list1 = new GenericList&lt;int&gt;();&lt;br /&gt;&lt;br /&gt;           // Declare a list of type string.&lt;br /&gt;           GenericList&lt;string&gt; list2 = new GenericList&lt;string&gt;();&lt;br /&gt;&lt;br /&gt;           // Declare a list of type ExampleClass.&lt;br /&gt;           GenericList&lt;exampleclass&gt; list3 = new GenericList&lt;exampleclass&gt;();&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   Generics Overview&lt;br /&gt;&lt;br /&gt;   --------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;   Use generic types to maximize code reuse, type safety, and performance.&lt;br /&gt;&lt;br /&gt;   The most common use of generics is to create collection classes.&lt;br /&gt;&lt;br /&gt;   The .NET Framework class library contains several new generic collection classes in the System.Collections.Generic         namespace.These should be used whenever possible instead of classes such as ArrayList in the System.Collections         namespace.&lt;br /&gt;&lt;br /&gt;   You can create your own generic interfaces, classes, methods, events and delegates.&lt;br /&gt;&lt;br /&gt;   Generic classes may be constrained to enable access to methods on particular data types.&lt;br /&gt;&lt;br /&gt;   Information on the types that are used in a generic data type may be obtained at run-time by using reflection.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Iterators&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   In this example, the DaysOfTheWeek class is a simple collection class that stores the days of the week as strings.         After each iteration of a foreach loop, the next string in the collection is returned.&lt;br /&gt;&lt;br /&gt;   C#&lt;br /&gt;   public class DaysOfTheWeek : System.Collections.IEnumerable&lt;br /&gt;   {&lt;br /&gt;       string[] days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };&lt;br /&gt; &lt;br /&gt;       public System.Collections.IEnumerator GetEnumerator()&lt;br /&gt;       {&lt;br /&gt;           for (int i = 0; i &lt; week =" new"&gt;, pronounced "Nullable of     Int32," can be assigned any value from -2147483648 to 2147483647, or it can be assigned the null value. A             Nullable&lt;bool&gt; can be assigned the values true or false, or null. The ability to assign null to numeric and Boolean         types is particularly useful when dealing with databases and other data types containing elements that may not be         assigned a value. For example, a Boolean field in a database can store the values true or false, or it may be             undefined.&lt;br /&gt;&lt;br /&gt;   C#&lt;br /&gt;   class NullableExample&lt;br /&gt;   {&lt;br /&gt;       static void Main()&lt;br /&gt;       {&lt;br /&gt;           int? num = null;&lt;br /&gt;           if (num.HasValue == true)&lt;br /&gt;           {&lt;br /&gt;               System.Console.WriteLine("num = " + num.Value);&lt;br /&gt;           }&lt;br /&gt;           else&lt;br /&gt;           {&lt;br /&gt;               System.Console.WriteLine("num = Null");&lt;br /&gt;           }&lt;br /&gt;&lt;br /&gt;           //y is set to zero&lt;br /&gt;           int y = num.GetValueOrDefault();&lt;br /&gt;&lt;br /&gt;           // num.Value throws an InvalidOperationException if num.HasValue is false&lt;br /&gt;           try&lt;br /&gt;           {&lt;br /&gt;               y = num.Value;&lt;br /&gt;           }&lt;br /&gt;           catch (System.InvalidOperationException e)&lt;br /&gt;           {&lt;br /&gt;               System.Console.WriteLine(e.Message);&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;   }      &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Anonymous Methods&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Creating anonymous methods is essentially a way to pass a code block as a delegate parameter. For example:&lt;br /&gt;&lt;br /&gt;   // Create a handler for a click event&lt;br /&gt;   button1.Click += delegate(System.Object o, System.EventArgs e)&lt;br /&gt;                  { System.Windows.Forms.MessageBox.Show("Click!"); };&lt;br /&gt; &lt;br /&gt;   // Create a delegate instance&lt;br /&gt;   delegate void Del(int x);&lt;br /&gt;&lt;br /&gt;   // Instantiate the delegate using an anonymous method&lt;br /&gt;   Del d = delegate(int k) { /* ... */ };&lt;br /&gt;&lt;br /&gt;   By using anonymous methods, you reduce the coding overhead in instantiating delegates by eliminating the need to         create a separate method.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Covariant and Contravariant Delegates&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Covariance and contravariance provide a degree of flexibility when matching method signatures with delegate types.         Covariance permits a method to have a more derived return type than what is defined in the delegate. Contravariance         permits a method with parameter types that are less derived than in the delegate type.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight: bold; font-style: italic;"&gt;Example 1 (Covariance)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   --------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;   This example demonstrates how delegates can be used with methods that have return types that are derived from the     return type in the delegate signature. The data type returned by SecondHandler is of type Dogs, which derives from     the Mammals type that is defined in the delegate.&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;   Class Mammals&lt;br /&gt;   {&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   class Dogs : Mammals&lt;br /&gt;   {&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   class Program&lt;br /&gt;   {&lt;br /&gt;       // Define the delegate.&lt;br /&gt;       public delegate Mammals HandlerMethod();&lt;br /&gt; &lt;br /&gt;       public static Mammals FirstHandler()&lt;br /&gt;       {&lt;br /&gt;           return null;&lt;br /&gt;       }&lt;br /&gt; &lt;br /&gt;       public static Dogs SecondHandler()&lt;br /&gt;       {&lt;br /&gt;           return null;&lt;br /&gt;       }&lt;br /&gt; &lt;br /&gt;       static void Main()&lt;br /&gt;       {&lt;br /&gt;           HandlerMethod handler1 = FirstHandler;&lt;br /&gt; &lt;br /&gt;           // Covariance allows this delegate.&lt;br /&gt;           HandlerMethod handler2 = SecondHandler;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-weight: bold; font-style: italic;"&gt;Example 2 (Contravariance)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   --------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;   This example demonstrates how delegates can be used with methods that have parameters of a type that are base types         of the delegate signature parameter type. With contravariance, you can now use one event handler in places where,         previously, you would have had to use separate handlers. For example, you can now create an event handler that         accepts an EventArgs input parameter and use it with the Button.MouseClick event that sends a MouseEventArgs type as         a parameter, and also with TextBox.KeyDown event that sends a KeyEventArgs parameter.&lt;br /&gt; &lt;br /&gt;  &lt;br /&gt;   System.DateTime lastActivity;&lt;br /&gt;   public Form1()&lt;br /&gt;   {&lt;br /&gt;       InitializeComponent();&lt;br /&gt; &lt;br /&gt;       lastActivity = new System.DateTime();&lt;br /&gt;       this.textBox1.KeyDown += this.MultiHandler; //works with KeyEventArgs&lt;br /&gt;       this.button1.MouseClick += this.MultiHandler; //works with MouseEventArgs&lt;br /&gt; &lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;   // Event hander for any event with an EventArgs or&lt;br /&gt;   // derived class in the second parameter&lt;br /&gt;   private void MultiHandler(object sender, System.EventArgs e)&lt;br /&gt;   {&lt;br /&gt;       lastActivity = System.DateTime.Now;&lt;br /&gt;   }&lt;br /&gt;     &lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Simplified Delegate Instantiation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Accessor Accessibility&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   private string name = "Hello";&lt;br /&gt;&lt;br /&gt;   public string Name&lt;br /&gt;   {&lt;br /&gt;       get&lt;br /&gt;       {&lt;br /&gt;           return name;&lt;br /&gt;       }&lt;br /&gt;       protected set&lt;br /&gt;       {&lt;br /&gt;           name = value;&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;.    Namespace Alias Qualifier&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   using colAlias = System.Collections;&lt;br /&gt;   namespace System&lt;br /&gt;   {&lt;br /&gt;       class TestClass&lt;br /&gt;       {&lt;br /&gt;           static void Main()&lt;br /&gt;           {&lt;br /&gt;               // Searching the alias:&lt;br /&gt;               colAlias::Hashtable test = new colAlias::Hashtable();&lt;br /&gt; &lt;br /&gt;               // Add items to the table.&lt;br /&gt;               test.Add("A", "1");&lt;br /&gt;               test.Add("B", "2");&lt;br /&gt;               test.Add("C", "3");&lt;br /&gt; &lt;br /&gt;               foreach (string name in test.Keys)&lt;br /&gt;               {&lt;br /&gt;                   // Seaching the gloabal namespace:&lt;br /&gt;                   global::System.Console.WriteLine(name + " " + test[name]);&lt;br /&gt;               }&lt;br /&gt;           }&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   Example 2&lt;br /&gt; &lt;br /&gt;   class TestApp&lt;br /&gt;   {&lt;br /&gt;       // Define a new class called 'System' to cause problems.&lt;br /&gt;       public class System { }&lt;br /&gt; &lt;br /&gt;       // Define a constant called 'Console' to cause more problems.&lt;br /&gt;       const int Console = 7;&lt;br /&gt;       const int number = 66;&lt;br /&gt; &lt;br /&gt;       static void Main()&lt;br /&gt;       {&lt;br /&gt;           // Error  Accesses TestApp.Console&lt;br /&gt;           //Console.WriteLine(number);&lt;br /&gt;       global::System.Console.WriteLine("Working");&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.    Static Classes       &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.    extern&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.    Fixed Size Buffers&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.    Friend Assemblies&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.    Compiler Pragma&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.Windows Forms in .NET 2.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    ToolStrip Control&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    SplitContainer Control&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Web Browser Control&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    DataGridView Control&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Other New .NET 2.0 Controls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    New Data Binding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Application Settings&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    BackgroundWorker Component&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    ClickOnce Deployment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.New Features in ADO.NET and XML&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Asynchronous Database Operations&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Server Enumeration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Multiple Active Result Sets&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Bulk Copy in ADO.NET&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Edit Capability in XPathNavigator&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Efficient XSLT Processor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;b.New Features in ASP.NET 2.0&lt;/span&gt;&lt;br /&gt;/////----------------------------------------&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1.Fundamentals of ASP.NET 2.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    ASP.NET 2.0 Applications&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Visual Web Developer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Using Components&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    New Controls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Menus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Master Pages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.Data Access in ASP.NET 2.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Data Source Controls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Connection String Storage&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    GridView&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    DetailsView&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    FormView&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    XML Support&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Object Data Sources&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.Personalization and Security in ASP.NET 2.0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Themes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Skins&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Membership and Roles&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Login Controls&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    User Profiles&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.    Web Parts&lt;/span&gt;&lt;/bool&gt;&lt;/int32&gt;&lt;/exampleclass&gt;&lt;/exampleclass&gt;&lt;/string&gt;&lt;/string&gt;&lt;/int&gt;&lt;/int&gt;&lt;/t&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-3053151670504086789?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h4EZNkbaSBSWDH0JP65nAZ5iai0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h4EZNkbaSBSWDH0JP65nAZ5iai0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h4EZNkbaSBSWDH0JP65nAZ5iai0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h4EZNkbaSBSWDH0JP65nAZ5iai0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/8O_BDAd2I9o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/3053151670504086789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=3053151670504086789" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/3053151670504086789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/3053151670504086789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/8O_BDAd2I9o/net-framework-20-features-new.html" title=".Net Framework 2.0 Features (New)" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/net-framework-20-features-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MGRnw5eyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-7133516008955200123</id><published>2009-11-11T00:29:00.000-08:00</published><updated>2009-11-24T06:03:47.223-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:03:47.223-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Web Services" /><title>WSDL Article</title><content type="html">http://www.w3.org/TR/wsdl#_rpcexample&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-7133516008955200123?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ok2EpMxKe5SQlBxYzh6wYfn2SbA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ok2EpMxKe5SQlBxYzh6wYfn2SbA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ok2EpMxKe5SQlBxYzh6wYfn2SbA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ok2EpMxKe5SQlBxYzh6wYfn2SbA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/7RUKRDTU7Eg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/7133516008955200123/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=7133516008955200123" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7133516008955200123?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/7133516008955200123?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/7RUKRDTU7Eg/wsdl-article.html" title="WSDL Article" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/wsdl-article.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IBQ3Y8eyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-5533073095625060892</id><published>2009-11-11T00:26:00.000-08:00</published><updated>2009-11-24T06:05:52.873-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:05:52.873-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SQl Server" /><title>Debugging a SQL Stored Procedure from inside SQL Server 2000 Query Analyzer</title><content type="html">useful Link for&lt;br /&gt;---------------&gt;&lt;br /&gt;&lt;span class="clsTitle"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;" class="clsTitle"&gt;Debugging a SQL Stored Procedure from inside SQL Server 2000 Query Analyzer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;http://www.15seconds.com/Issue/050106.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-5533073095625060892?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7G6gOE6loLi5oQ-w_mZ95f3aByo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7G6gOE6loLi5oQ-w_mZ95f3aByo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7G6gOE6loLi5oQ-w_mZ95f3aByo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7G6gOE6loLi5oQ-w_mZ95f3aByo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/je2-aeyjVBQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/5533073095625060892/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=5533073095625060892" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5533073095625060892?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5533073095625060892?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/je2-aeyjVBQ/debugging-sql-stored-procedure-from.html" title="Debugging a SQL Stored Procedure from inside SQL Server 2000 Query Analyzer" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/debugging-sql-stored-procedure-from.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IFSH0_fCp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-6538120555243801046</id><published>2009-11-09T22:45:00.000-08:00</published><updated>2009-11-24T06:05:19.344-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:05:19.344-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Oracle DataBase" /><title>ACID properties of the database</title><content type="html">&lt;h3  style="color: rgb(255, 255, 204);font-family:times new roman;" class="post-title"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;Explain ACID properties of the database? &lt;/span&gt;&lt;/h3&gt;   &lt;p style="font-family: times new roman;"&gt;All &lt;b&gt;Database systems&lt;/b&gt; which include transaction support implement ACID properties to ensure the integrity of the database. &lt;b&gt;ACID stands for Atomicity, Consistency, Isolation and Durability&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;ul style="font-family: times new roman;"&gt;&lt;li&gt;&lt;b&gt;Atomicity&lt;/b&gt;: Each transaction is said to be “atomic.” If one part of the transaction fails, the entire transaction fails. Modifications on the data in the database either fail or succeed. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Consistency&lt;/b&gt;: This property ensures that only valid data will be written to the database. If, for some reason, a transaction is executed that violates the database’s consistency rules, the entire transaction will be rolled back and the database will be restored to a state consistent with those rules. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Isolation&lt;/b&gt;: It requires that multiple transactions occurring at the same time not impact each other’s execution. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Durability&lt;/b&gt;: It ensures that any &lt;b&gt;transaction&lt;/b&gt; committed to the &lt;b&gt;database&lt;/b&gt; will not be lost. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-6538120555243801046?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Y63Kh4E6I2RooMSVG-d6xRyBP5A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y63Kh4E6I2RooMSVG-d6xRyBP5A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Y63Kh4E6I2RooMSVG-d6xRyBP5A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Y63Kh4E6I2RooMSVG-d6xRyBP5A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/qv2uKdKh07Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/6538120555243801046/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=6538120555243801046" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/6538120555243801046?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/6538120555243801046?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/qv2uKdKh07Y/explain-acid-properties-of-database-all.html" title="ACID properties of the database" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2009/11/explain-acid-properties-of-database-all.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0MAR3w8fyp7ImA9WxNaEEo.&quot;"><id>tag:blogger.com,1999:blog-2956116147975731201.post-5191968098251000512</id><published>2008-11-13T19:13:00.000-08:00</published><updated>2009-11-24T06:04:06.277-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-24T06:04:06.277-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="General" /><title>Thoughts for every day</title><content type="html">The only way of finding the limits of the possible is by going beyond them into the impossible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2956116147975731201-5191968098251000512?l=iyngarangce.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KxCmiNphvnZz0uTVLGuiMk27q_g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KxCmiNphvnZz0uTVLGuiMk27q_g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KxCmiNphvnZz0uTVLGuiMk27q_g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KxCmiNphvnZz0uTVLGuiMk27q_g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DhineshParamasivam/~4/BQ9SxXFLMFk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://iyngarangce.blogspot.com/feeds/5191968098251000512/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=2956116147975731201&amp;postID=5191968098251000512" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5191968098251000512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2956116147975731201/posts/default/5191968098251000512?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DhineshParamasivam/~3/BQ9SxXFLMFk/thoughts-for-every-day.html" title="Thoughts for every day" /><author><name>Dhinesh Paramasivam</name><uri>http://www.blogger.com/profile/11324323140294768179</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://iyngarangce.blogspot.com/2008/11/thoughts-for-every-day.html</feedburner:origLink></entry></feed>

