title: Why methods in C# are not automatically virtual?
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/814934/why-c-implements-methods-as-non-virtual-by-default">Why C# implements methods as non-virtual by default?</a>  </p>
  </blockquote>
  
  
  
  <p>It would be much more less work to define which methods are NOT overideable instead of which <em>are</em> overideable because (at least for me), when you're designing a class, you don't care if its heirs will override your methods or not...</p>
  
  <p>So, why methods in C# are not automatically virtual? What is the common sense in this?</p>