Overriding without "override"/"new" not causing an error
<p>I've just read that when you define a method in a derived class that has the same name as a method described in a base class, you should get the error: "<em>please add the 'override' or 'new' keyword</em>". But despite me trying to cause it to do so by the code below, everything seems to be OK. </p>

<p>I'd like to know why? I use Visual Studio 2010.</p>

<pre><code>class Base
{
  public void Method()
  {
    Console.WriteLine("Base class");
  }
}

class Child : Base
{
  public void Method()
  {
    Console.WriteLine("Child class");
  }
}

static void Main(string[] args)
{
  Base myBase = new Base();
  Child myChild = new Child();
  myBase.Method();
  myChild.Method();
}
</code></pre>

<p>The output I'm getting is as follows.</p>

<blockquote>
  <p>Base class</p>
  
  <p>Child class</p>
</blockquote>
