title: Calling Overridden Constructor and Base Constructor in C#
body: <p>I have two classes, Foo and Bar, that have constructors like this:</p>
  
  <pre><code>class Foo
  {
      Foo()
      {
        // do some stuff
      }
  
      Foo(int arg)
      {
        // do some other stuff
      }
  }
  
  class Bar : Foo
  {
      Bar() : base()
      {
        // some third thing
      }
  }
  </code></pre>
  
  <p>Now I want to introduce a constructor for Bar that takes an int, but I want the stuff that happens in Bar() to run <em>as well</em> as the stuff from Foo(int).  Something like this:</p>
  
  <pre><code>Bar(int arg) : Bar(), base(arg)
  {
    // some fourth thing
  }
  </code></pre>
  
  <p>Is there any way to do this in C#?  The best I have so far is putting the work done by Bar() into a function, that also gets called by Bar(int), but this is pretty inelegant.</p>