title: Hide constructor of an inherited class
body: <p>Please take a look at this example:</p>
  
  <pre><code>public class X
  {
      public X()
      {
          MessageBox.Show("I'm X");
      }
  }
  
  public class Y : X
  {
      public Y()
      {
          MessageBox.Show("I'm Y");
      }
  }
  </code></pre>
  
  <p>When executing the command <code>Y y = new Y();</code>, two message boxes appear - first "I'm X", then "I'm Y".</p>
  
  <p>How can I get rid of this behaviour? I need to stop the constructor of <code>X</code> when making a new <code>Y</code>.</p>