title: Get access to my derived class members
body: <p>I have several classes that inhabit from this class:</p>
  
  <pre><code> public abstract class Class1
  {
      private string _protocol;
      private static List&lt;Plus&gt; _class1Objects;
  
      public string Protocol
      {
          get { return _protocol; }
          set { _protocol = value; }
      }
  
      public static List&lt;Plus&gt; Class1Objects
      {
          get { return _class1Objects; }
          set { _class1Objects = value; }
      }
  }
  </code></pre>
  
  <p>And the derive class:</p>
  
  <pre><code>public class Class2 : Plus
  {
      public bool name;
      public int id;
  
  }
  
  public Webmail(string name, int id)
  {
      if (Class1Objects == null)
          Class1Objects = new List&lt;class1&gt;();
  
      .....
  
      Class1Objects.Add(this);
  }
  </code></pre>
  
  <p>And after my list is full of <code>Class1Objects</code>:</p>
  
  <pre><code>for (int i = 0; i &lt; Class1.Class1Objects.Count; i++)
  {
      if (Class1.Class1Objects[i].GetType() == typeof(Class2))
      }   
           (Class2)Class1.Class1Objects[i]. 
      }
  }
  </code></pre>
  
  <p>Here after <code>(Class2)Class1.Class1Objects[i].</code> i cannot see my <code>Class2</code> memners</p>