title: When use Class as a Type,can't use the static method of it
body: <p>There are two Class:
  </p>
  
  <pre><code>class Observer {
      static Update(value) { }
  }
  class ObserverList {
      private observerList: Observer[];
      constructor() {
          this.observerList = [];
      }
      Get(index: number): Observer {
          if (index &gt; -1 &amp;&amp; index &lt; this.observerList.length) {
              return this.observerList[index];
          }
      }
  }
  </code></pre>
  
  <p>I use then like this:
  </p>
  
  <pre><code>var obList=new ObserverList();
  obList.Get(3).Update();
  </code></pre>
  
  <p>And then waring me <code>Property 'Update' does not exist on Type Observer</code>。
  Is this a wrong way to use Class Observer as a return type?</p>
  
  <p><a href="https://i.stack.imgur.com/rl23Z.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/rl23Z.png" alt="enter image description here"></a></p>