title: What's wrong with this reflection code? GetFields() is returning an empty array
body: <p>C#, Net 2.0</p>
  
  <p>Here's the code (I took out all my domain-specific stuff, and it still returns an empty array): </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Text;
  using System.Reflection;
  
  namespace ConsoleApplication1
  {
      class Program
      {
          static void Main(string[] args)
          {
              ChildClass cc = new ChildClass();
              cc.OtherProperty = 1;
  
              FieldInfo[] fi = cc.GetType().GetFields();
              Console.WriteLine(fi.Length);
              Console.ReadLine();
          }
      }
      class BaseClass&lt;T&gt;
      {
          private int myVar;
  
          public int MyProperty
          {
              get { return myVar; }
              set { myVar = value; }
          }
  
  
      }
  
      class ChildClass : BaseClass&lt;ChildClass&gt;
      {
          private int myVar;
  
          public int OtherProperty
          {
              get { return myVar; }
              set { myVar = value; }
          }
  
      }
  }
  </code></pre>