title: C#: Calling parent (Base) constructor from child's constructor body
body: <p>I have an abstract class <code>Parent</code> and a derived class <code>Child</code>. I know that I can call <code>Parent</code>'s constructor inside <code>Child</code>'s constructor in the following way:</p>
  
  <pre><code>abstract class Parent 
  {
      protected int i;
      protected Parent(int i) 
      {
          this.i = i;
      }
  }
  
  class Child : Parent 
  {
      public Child(int i) : base(i) 
      {
      }
  }
  </code></pre>
  
  <p>However, I don't want to pass some parameters to the <code>Parent</code> constructor right away. I would like to perform some calculations and <em>then</em> call <code>Parent</code>'s constructor using the result of such calculation as input parameters. The code "would look" something like this:</p>
  
  <pre><code>public class Child : Parent 
  {
      public Child(int i) 
      {
          int calculation = i * 2; // Complicated operation
          base(calculation); // This line will break
      }
  }
  </code></pre>
  
  <p>The second snippet is not valid C# code. Is there any way of postponing the call to <code>Parent</code>'s constructor to mimic the sentiment expressed on the second code snippet?</p>