<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rakesh Rajan's blog : .NET FAQ</title><link>http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx</link><description>Tags: .NET FAQ</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>XML Serialize IDictionary types (Hashtable, DictionaryBase etc.)</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2006/01/15/81105.aspx</link><pubDate>Sun, 15 Jan 2006 12:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:81105</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=81105</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2006/01/15/81105.aspx#comments</comments><description>&lt;H2&gt;Problem &lt;/H2&gt;
&lt;P&gt;You want to serialize a type; however it: 
&lt;UL&gt;
&lt;LI&gt;implements &lt;SPAN class=code&gt;IDictionary&lt;/SPAN&gt;, or 
&lt;LI&gt;derives from &lt;SPAN class=code&gt;DictionaryBase&lt;/SPAN&gt;, contains a member which implements &lt;SPAN&gt;IDictionary&lt;/SPAN&gt; or derives from &lt;SPAN class=code&gt;DictionaryBase&lt;/SPAN&gt;, &lt;/LI&gt;&lt;/UL&gt;which causes XmlSerializer to throw an exception: &lt;BR&gt;&lt;SPAN&gt;"System.NotSupportedException: The type X is not supported because it implements IDictionary". &lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;H2&gt;Solution &lt;/H2&gt;
&lt;P&gt;Override XmlSerialization by making the type implement the &lt;SPAN&gt;System.Xml.Serialization.IXmlSerializable &lt;/SPAN&gt;class. Define how you want the object to be serialized in XML in the &lt;SPAN class=code&gt;WriteXml&lt;/SPAN&gt; method, and define how you could recreate the object from an xml string in the &lt;SPAN&gt;ReadXml&lt;/SPAN&gt; method. &lt;/P&gt;
&lt;H2&gt;Code &lt;/H2&gt;
&lt;P&gt;Download the full code &lt;A href="http://rakeshrajan.com/data/IXmlSerializable/IXmlSerializable.zip" target=_blank&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The &lt;SPAN class=code&gt;WriteXml&lt;/SPAN&gt; and &lt;SPAN class=code&gt;ReadXml&lt;/SPAN&gt; methods used in the sample follow. &lt;/P&gt;&lt;PRE&gt;public void WriteXml(System.Xml.XmlWriter writer)
{
	// Used while Serialization

	// Serialize each BizEntity this collection holds
	foreach( string key in this.Dictionary.Keys )
	{
		Serializer.Serialize(writer, this.Dictionary[key]);
	}
}

public void ReadXml(System.Xml.XmlReader reader)
{
	// Used while Deserialization

	// Move past container
	reader.Read();

	// Deserialize and add the BizEntitiy objects
	while( reader.NodeType != XmlNodeType.EndElement )
	{
		BizEntity entity;

		entity = Serializer.Deserialize(reader) as BizEntity;
		reader.MoveToContent();
		this.Dictionary.Add(entity.Key, entity);
	}
}
&lt;/PRE&gt;
&lt;H2&gt;Description &lt;/H2&gt;
&lt;P&gt;By default, XML Serialization does not serialize types that implement &lt;SPAN class=code&gt;IDictionary&lt;/SPAN&gt;; it throws an exception when you attempt to do so. This comes quite in the way when you need to switch serialization techniques, or have custom collections which derive from &lt;SPAN class=code&gt;DictionaryBase&lt;/SPAN&gt; or any other sort of scenario. &lt;/P&gt;
&lt;P&gt;The workaround for this problem is to let XML Serializer know how to serialize your &lt;SPAN class=code&gt;IDictionary&lt;/SPAN&gt; types yourself, by implementing the &lt;SPAN&gt;System.Xml.Serialization.IXmlSerializable&lt;/SPAN&gt; class. This interface declares three methods - &lt;SPAN class=code&gt;ReadXml&lt;/SPAN&gt;, &lt;SPAN class=code&gt;WriteXml&lt;/SPAN&gt; and &lt;SPAN class=code&gt;GetSchema&lt;/SPAN&gt;. &lt;/P&gt;
&lt;P&gt;When XmlSerializer attempts to serialize a type and finds that it implements &lt;SPAN class=code&gt;IXmlSerializable&lt;/SPAN&gt;, the serializer would simply pass control to the &lt;SPAN class=code&gt;ReadXml&lt;/SPAN&gt; (during deserialization) or &lt;SPAN class=code&gt;WriteXml&lt;/SPAN&gt; (during serialization) methods. In other words, you yourself handle how serialization and deserialization should happen. &lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=81105" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>.NET Certifications FAQ</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/09/23/67399.aspx</link><pubDate>Fri, 23 Sep 2005 06:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:67399</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=67399</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/09/23/67399.aspx#comments</comments><description>&lt;P&gt;This is something that comes up frequently. &lt;/P&gt;
&lt;P&gt;Check out the below link I wrote a long long time ago. Hope it has some helpful information. Please drop me a mail if you have questions.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://t-mug.org/certification.aspx" target=_blank&gt;http://t-mug.org/certification.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=67399" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>How to make Visual Studio .NET create web projects in a user defined folder</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/08/22/63652.aspx</link><pubDate>Mon, 22 Aug 2005 14:57:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:63652</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=63652</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/08/22/63652.aspx#comments</comments><description>&lt;P&gt;Just published this here: &lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/555436" target=_blank&gt;http://support.microsoft.com/kb/555436 &lt;/A&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=63652" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>How to share custom application configuration settings across projects in .NET</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/08/16/62853.aspx</link><pubDate>Tue, 16 Aug 2005 19:12:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:62853</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=62853</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/08/16/62853.aspx#comments</comments><description>&lt;P&gt;Just published this here: &lt;BR&gt;&lt;A href="http://support.microsoft.com/kb/555396" target=_blank&gt;http://support.microsoft.com/kb/555396&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Interestingly, I had stumbled upon this while answering this post:&lt;BR&gt;&lt;A href="http://www.msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.dotnet.general&amp;amp;mid=ff9719e6-3829-4122-8b23-565087e9b1a4&amp;amp;sloc=en-us" target=_blank&gt;http://www.msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public.dotnet.general&amp;amp;mid=ff9719e6-3829-4122-8b23-565087e9b1a4&amp;amp;sloc=en-us&lt;/A&gt; &lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=62853" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>Why Multiple Inheritance was not implemented in .NET</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/06/29/56183.aspx</link><pubDate>Wed, 29 Jun 2005 15:56:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:56183</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>20</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=56183</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/06/29/56183.aspx#comments</comments><description>&lt;P&gt;Just came across this blog entry on why Multiple Inheritance was not implemented in .NET.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85562.aspx" target=_blank&gt;http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85562.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=56183" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>How to find out the immediate calling method</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/02/45408.aspx</link><pubDate>Tue, 03 May 2005 03:55:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:45408</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=45408</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/02/45408.aspx#comments</comments><description>									&lt;p&gt;
										Use the
										&lt;span&gt;StackFrame&lt;/span&gt;
										and
										&lt;span&gt;StackTrace&lt;/span&gt;
									classes.
									&lt;p&gt;For example:
										&lt;pre&gt;

	public static void SourceMethod()
	{
		TargetMethod();
	}

	public static void TargetMethod()
	{
		StackTrace st = new StackTrace();

		// This will output 'SourceMethod'
		Console.WriteLine(st.GetFrame(1).GetMethod().Name);
	}

&lt;/pre&gt;
									&lt;/p&gt;
									&lt;p&gt;
										&lt;br&gt;
										&lt;b&gt;Note: &lt;/b&gt;
										&lt;br /&gt;
										Code optimizations might give you different results. &amp;nbsp;Some methods may 
										even be completely optimized out.&amp;nbsp; But this code should work fine without 
										any optimizations.
									&lt;/p&gt;
									&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=45408" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>Static readonly versus constants</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/01/45260.aspx</link><pubDate>Sun, 01 May 2005 16:03:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:45260</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>6</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=45260</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/01/45260.aspx#comments</comments><description>									&lt;p&gt;
									Though both would appear similar – they are both read only and generate almost 
									similar IL code – they have a number of differences.&amp;nbsp; Here they are:
									&lt;p&gt;
										Constants are evaluated at compile time, whereas
										&lt;span&gt;static&lt;/span&gt;
										(or
										&lt;span&gt;static readonly&lt;/span&gt;) variables at runtime.
									&lt;/p&gt;
									&lt;p&gt;
										So, when the compiler generates the IL, the value of the constant is burned 
										into the IL wherever it is referenced.&amp;nbsp; Consequently, when you change the 
										value of a constant, all the client applications referring the constant will 
										have to be recompiled.&amp;nbsp;
									&lt;/p&gt;
									&lt;p&gt;
										However, if you change the value of a static field, you only need to recompile 
										that library and none of the clients.&amp;nbsp; This is because the IL generated 
										would only be referencing the static field, and will not have the value burned 
										into it.
									&lt;/p&gt;
									&lt;p&gt;
										Though constants and
										&lt;span&gt;readonly&lt;/span&gt;
										variables are both read only,
										&lt;span&gt;readonly&lt;/span&gt;
										is a runtime constant, and can hold references types (like
										&lt;span&gt;DataSet&lt;/span&gt;
										etc.).&amp;nbsp; Constants on the other hand cannot hold reference types except for
										&lt;span&gt;string&lt;/span&gt;
										and
										&lt;span&gt;nul&lt;/span&gt;l.
									&lt;/p&gt;
									&lt;p&gt;
										Yet another difference is that constants need to be initialized at the 
										declaration itself, whereas
										&lt;span&gt;readonly&lt;/span&gt;
										fields may be initialized either at the declaration or in a constructor (or in 
										static constructors/type initializers).
									&lt;/p&gt;
									&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=45260" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>Override versus Hide (static binding versus dynamic binding)</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/01/45188.aspx</link><pubDate>Sun, 01 May 2005 05:56:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:45188</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=45188</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/05/01/45188.aspx#comments</comments><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=1&gt;&lt;STRONG&gt;Background&lt;/STRONG&gt; This is a topic repeatedly asked about both online and offline. This entry explains the following OOPs concepts to help clear them:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo7; tab-stops: list .5in"&gt;&lt;FONT size=1&gt;&lt;FONT face=Verdana&gt;Method overriding and method hiding (implemented using the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;override&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;new&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keywords in C# and &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Overrides&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Shadows&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keywords in VB.NET).&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo7; tab-stops: list .5in"&gt;&lt;FONT face=Verdana size=1&gt;Static Binding and Dynamic Binding in this context.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo7; tab-stops: list .5in"&gt;&lt;FONT face=Verdana size=1&gt;Other related concepts&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo7; tab-stops: list .5in"&gt;
&lt;HR id=null&gt;
&lt;/P&gt;
&lt;H3 style="MARGIN: 12pt 0in 3pt"&gt;&lt;FONT face=Arial&gt;Static Binding&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;When a reference type variable is initialized, the reference may hold either:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;&lt;FONT face=Verdana size=2&gt;an object of the same type as that of the reference type&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;&lt;FONT face=Verdana size=2&gt;an object of a type related to the reference type&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Print()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Base");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;9&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;10&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Derv : Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;11&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;12&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Print()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;13&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;14&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Derv");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;15&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;16&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;17&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;The code below is perfectly legal in this context:&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-list: l2 level1 lfo8; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Base obj;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Base();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// This is possible since Derv is related to Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Derv();&lt;SPAN style="mso-tab-count: 1"&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;In such a scenario, when a method is invoked against a reference variable, the actual method going to be called depends upon the type of the reference.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example:&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-list: l2 level1 lfo3; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Base obj;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Derv der;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Base();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj.Print();&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Output: 'Base'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Derv();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;9&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj.Print();&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Output: 'Base'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;10&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;11&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;der = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Derv();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;12&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;der.Print();&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Output: 'Derv'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;13&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;At line number 9, the compiler determines which method to call (the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;method or &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method) by checking the type of the reference variable &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;obj&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since the reference variable &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;obj&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; (not the actual object stored at the reference) happens to be of type &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, the compiler calls &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In a similar manner, at line number 12, the compiler invokes &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; as the reference variable &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;der&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; is of type &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;This is known as &lt;I style="mso-bidi-font-style: normal"&gt;Static Binding&lt;/I&gt; because the compiler does all this at compile time while building the final IL code, which is thus static (unchangeable at run-time).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 style="MARGIN: 12pt 0in 3pt"&gt;&lt;FONT face=Arial&gt;Method Hiding&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;The type &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; derives from &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and thus inherits the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;But note that &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; itself defines a &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When a derived class defines a method with the same name as that of a method in the base class, the base class&amp;#8217;s method would never be invoked if the type of reference variable is that of the derived class.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the previous code snippet at line number 12, though &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; inherits the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method, it was &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; that was invoked.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Here, &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; is said to be &lt;I style="mso-bidi-font-style: normal"&gt;hiding&lt;/I&gt; &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;In order to make sure that this is indeed what the developer requires, the compiler would issue a warning saying that &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;is hiding &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The compiler simply wants to bring to the attention of the programmer that there exists a method with the same name in the base class, and that the derived class&amp;#8217;s method is hiding it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To get rid of the warning, we need to use the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;new&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keyword:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-list: l2 level1 lfo6; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Derv : Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Print()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Derv");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;9&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;This reassures the compiler that the programmer knows about this issue, and that this implementation is purposeful.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 style="MARGIN: 12pt 0in 3pt"&gt;&lt;FONT face=Arial&gt;Method Overriding and Dynamic Binding&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;By using the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;virtual&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;override&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keywords, you could control which method is invoked in an inheritance scenario.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-list: l2 level1 lfo4; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;virtual&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Print()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Base");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;9&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;10&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Derv : Base&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;11&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;12&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; Print()&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;13&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;14&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Derv");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;15&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;16&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;17&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Verdana size=2&gt;This definition would yield the following result.&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 4pt; BACKGROUND: #e0e0e0; PADDING-BOTTOM: 1pt; MARGIN-LEFT: 0.05in; BORDER-LEFT: gray 1pt solid; MARGIN-RIGHT: 0in; PADDING-TOP: 1pt; BORDER-BOTTOM: gray 1pt solid; mso-border-alt: solid gray .5pt; mso-element: para-border-div"&gt;
&lt;P class=Style1CxSpFirst style="BACKGROUND: #e0e0e0; MARGIN: 6pt 0in 0pt 0.45in; mso-list: l2 level1 lfo5; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;1&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;2&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Base obj;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;3&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;4&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Base();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;5&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj.Print();&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Output: 'Base'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;6&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: green; mso-bidi-font-family: 'Courier New'"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;7&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; Derv();&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpMiddle style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 0pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;8&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: 'Courier New'"&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;obj.Print();&lt;SPAN style="mso-tab-count: 2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt;// Output: 'Derv'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Style1CxSpLast style="BACKGROUND: #e0e0e0; MARGIN: 0in 0in 6pt 0.45in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #993300; mso-fareast-font-family: 'Courier New'; mso-bidi-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face="Courier New" size=2&gt;9&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Note that at line number 8, even though the reference variable &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;obj&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; was of type &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, the method that was invoked was &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; rather than &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is because of the following reasons:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo9; tab-stops: list .5in"&gt;&lt;FONT size=2&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; declares itself as &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;virtual&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, which means derived classes may override this method&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo9; tab-stops: list .5in"&gt;&lt;FONT size=2&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; explicitly states that this method overrides the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method, by using the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;override&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keyword&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;Thus, when the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; method is invoked, the derived type&amp;#8217;s method gets invoked.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;In addition to &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, there could be more types which derive from &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, or even from &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; or any of its subclasses.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Consequently, at any point of time, the reference variable &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;obj&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; could be holding any object instance whose type is in some way related to the type &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is thus not possible to find out what is the actual type of the instance held in &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;obj&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; until runtime. Hence, binding happens at runtime when the actual object instance exists, and the method is then invoked dynamically.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is known as &lt;I style="mso-bidi-font-style: normal"&gt;Dynamic Binding&lt;/I&gt;.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H3 style="MARGIN: 12pt 0in 3pt"&gt;&lt;FONT face=Arial&gt;Remarks&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;If &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; was not declared with the &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;override&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; keyword, &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; would be ignored and &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; would be invoked.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This design ensures that the programmer explicitly requests for overriding.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Conversely, if &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Base.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; was not declared as &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;virtual&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, &lt;/FONT&gt;&lt;SPAN class=CodeSnippetChar&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" color=#000080&gt;Derv.Print&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; will not be able to override that method; in other words, the base class developer should explicitly permit derived class developers to override its methods. This design prevents any accidental invocation of the derived class&amp;#8217;s method when a new version of the base class with a method of the same name ships.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=45188" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>How to create a random (or unique) string (or number)</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/42002.aspx</link><pubDate>Thu, 14 Apr 2005 16:34:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:42002</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=42002</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/42002.aspx#comments</comments><description>								&lt;h3&gt;
									Problem
								&lt;/h3&gt;
								You want to create a unique number for:
								&lt;ol type="1"&gt;
									&lt;li&gt;
										using an a primary key in a table
									&lt;/li&gt;
									&lt;li&gt;
										for security purposes like creating a salt to attach to a hash value
									&lt;/li&gt;
								&lt;/ol&gt;
								&lt;h3&gt;
									Possible solutions
								&lt;/h3&gt;
								&lt;ol type="1"&gt;
									&lt;li&gt;
										Create a new GUID (Globally Unique Identifier) by using the GUID.NewGuid method
									&lt;/li&gt;
									&lt;li&gt;
										Use the RNG Crypto service provider to create a random byte array and convert 
										it into a string
									&lt;/li&gt;
									&lt;li&gt;
										Use DateTime.Now if that would suffice
									&lt;/li&gt;
								&lt;/ol&gt;
								&lt;h3&gt;
									Example for using RNG Crypto Service Provider:
								&lt;/h3&gt;
								&lt;pre&gt;

	byte[] saltInBytes = new byte[8];
	RNGCryptoServiceProvider saltGenerator = new RNGCryptoServiceProvider();
	saltGenerator.GetBytes(saltInBytes);
	string saltAsString = Convert.ToBase64String(saltInBytes); 

								&lt;/pre&gt;
								&lt;h3&gt;
									References
								&lt;/h3&gt;
								&lt;p&gt;
									&lt;a href="http://macronimous.com/resources/Secure_Password_Programming.asp" target="_blank"&gt;
										http://macronimous.com/resources/Secure_Password_Programming.asp&lt;/a&gt;
&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=42002" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>Find out the number of times a character is repeated in a string without using iteration</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/42000.aspx</link><pubDate>Thu, 14 Apr 2005 16:24:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:42000</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=42000</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/42000.aspx#comments</comments><description>								&lt;h3&gt;
									Problem
								&lt;/h3&gt;
								&lt;p&gt;
									You want to find out the number of times a specific character is repeated in a 
									string, but you don't want to use iterative blocks like while, for etc..&lt;/p&gt;
								&lt;h3&gt;
									Solution
								&lt;/h3&gt;
								&lt;p&gt;
									Use the
									&lt;span class="codeSnippet"&gt;Split&lt;/span&gt;
									method, and subtract 1 from the length of the string returned.
								&lt;/p&gt;
								&lt;h3&gt;
									Example
								&lt;/h3&gt;
								&lt;pre&gt;

	string input = "123#345#456#";
	int count = input.Split("#").Length - 1; // Returns 3

&lt;/pre&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=42000" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>How to create a Plug-in architecture</title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/41999.aspx</link><pubDate>Thu, 14 Apr 2005 16:23:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:41999</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=41999</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/41999.aspx#comments</comments><description>								&lt;h3&gt;
									Problem&lt;/h3&gt;
								&lt;p&gt;
									You want to create an application which could dynamically load ‘plug-ins’ at 
									runtime.&amp;nbsp; You want to do this because:&lt;/p&gt;
								&lt;ol type="1"&gt;
									&lt;li&gt;
										you want other people to create plug-ins for your application without exposing 
										your source code
									&lt;/li&gt;
									&lt;li&gt;
										you have a module which keeps changing but don't want to recompile your 
										application every time it changes
									&lt;/li&gt;
								&lt;/ol&gt;
								&lt;h3&gt;
									Solution overview&lt;/h3&gt;
								&lt;ol type="1"&gt;
									&lt;li&gt;
										Create an interface which all plug-ins must implement, and have it shared as an 
										assembly referenced by both your application and the plug-ins.
									&lt;/li&gt;
									&lt;li&gt;
										Create a plug-in by implementing the interface, and build it as an assembly
									&lt;/li&gt;
									&lt;li&gt;
										Let the application know about the plug-in assembly, by using either the 
										app.config file or any similar mechanism.
									&lt;/li&gt;
									&lt;li&gt;
										At run time, use Reflection (&lt;span class="codeSnippet"&gt;Activator.CreateInstance&lt;/span&gt; method) to create an 
										object of the plug-in and store in a variable of the interface type.&lt;/li&gt;
								&lt;/ol&gt;
								&lt;h3&gt;
									Suggested references&lt;/h3&gt;
								&lt;ul type="disc"&gt;
									&lt;li&gt;
										&lt;a href="http://www.msdn.microsoft.com/vstudio/default.aspx?pull=/library/en-us/dnaspp/html/pluginframework.asp"
											target="_blank"&gt;http://www.msdn.microsoft.com/vstudio/default.aspx?pull=/library/en-us/dnaspp/html/pluginframework.asp&lt;/a&gt;
									&lt;/li&gt;
									&lt;li&gt;
										&lt;a href="http://www.codeproject.com/csharp/Plugins.asp" target="_blank"&gt;http://www.codeproject.com/csharp/Plugins.asp&lt;/a&gt;&lt;/li&gt;
								&lt;/ul&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=41999" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item><item><title>Guidelines on naming conventions, standards etc. </title><link>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/41998.aspx</link><pubDate>Thu, 14 Apr 2005 16:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:41998</guid><dc:creator>rakeshrajan</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/rakeshrajan/rsscomments.aspx?PostID=41998</wfw:commentRss><comments>http://msmvps.com/blogs/rakeshrajan/archive/2005/04/14/41998.aspx#comments</comments><description>								&lt;p&gt;
									MSDN has a paper which lays down guidelines on naming conventions, class member 
									usages, exposing functionality etc.&amp;nbsp; This is a must-see resource for all 
									who want to use a standard convention while coding, to create class libraries 
									and whoever else who just want to write some good piece of code.
&lt;/p&gt;
								&lt;h3&gt;
									Online link
								&lt;/h3&gt;
								&lt;p&gt;
									&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnetframeworkdesignguidelines.asp"
										target="_blank"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnetframeworkdesignguidelines.asp&lt;/a&gt;&lt;/p&gt;
								&lt;h3&gt;
									MSDN Collection link
								&lt;/h3&gt;
								ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/cpgenref/html/cpconnetframeworkdesignguidelines.htm
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=41998" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/rakeshrajan/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category></item></channel></rss>