title: How to design different structures with common parts using inheritance
body: <p>I've searched a lot about this problem without finding any appreciable result (maybe because i don't have a clear idea of what to ask), then here we are...
  I have to design two structures derived from two different JSON which they have  common parts:</p>
  
  <pre><code>{
    "data": 
      {
        "success": true,
        "updated_ids": [0],
        "not_updated_ids": [0]
      }
  }
  
  {
    "data": 
      {
        "success": true,
        "branch_ids":["0"]
      }
  }
  </code></pre>
  
  <p>My idea is to create something like this:</p>
  
  <pre><code>class Response
  {
      Data data { get; set; }
  }
  
  class Data
  {
      bool success { get; set; }
  }
  
  class UserResponse : Data
  {
      List&lt;int&gt; updatedIds { get; set; }
      List&lt;int&gt; notUpdatedIds { get; set; }
  }
  
  class BranchResponse : Data
  {
      List&lt;string&gt; branchIds { get; set; }
  }
  </code></pre>
  
  <p>Now my question is: How can i instantiate my two different classes?
  If I do <code>new Response()</code> i don't get the <code>UserReponse</code> or <code>BranchResponse</code> part and if i do <code>new UserResponse()</code> i don't get the <code>Response</code> part.</p>
  
  <p>Basically i would like to instantiate a variable for each structure, populate it with all the values and then Serialize to create the Json.</p>
  
  <p>Thanks in advance!</p>