title: How to get Type of Array in Typescript generics
body: <p>I have a method like this:</p>
  
  <pre><code>public select(fieldName: keyof TType)
  </code></pre>
  
  <p>Where <code>TType</code> could be an array type.  In case of an array type, <code>fieldName</code> will correctly offer me all the propertynames of type <code>Array</code>.</p>
  
  <p>In case I call this method with a type of <code>User[]</code> I want to get to the properties of <code>User</code> instead of the properties of <code>Array</code>.</p>
  
  <p>Is there any way of how this could be done?</p>
  
  <p>Extra question: Is there any way to restrict TType to be of an array type?</p>