title: Use new keyword in c#
body: <p>I have two classes</p>
  
  <pre><code>class  A
  {
       public virtual void Metod1()
       {
           Console.WriteLine("A.Method1");
       }
  }
  
  class B : A
  {
      public new void  Metod1()
      {
          Console.WriteLine("B.Method1");
      }
  }
  </code></pre>
  
  <p>Then I write some code that declares instances of these classes, and calls their methods</p>
  
  <pre><code>     static void Main(string[] args)
      {
          A a = new B();
          a.Metod1();
          B b = new B();
          b.Metod1();
          Console.ReadKey();
      }
  </code></pre>
  
  <p>I gave following result:</p>
  
  <pre><code>A.Method1
  B.Method1
  </code></pre>
  
  <p>But when I delete keyword new from signature method1 of class B and run Main method I got same result.
  Question:Is new keyword in signature of methods only for better readability?</p>
  
  <p>Edit:Are there cases where we can not do without a new keyword? </p>