GetMembersなどメンバ情報を取得するメソッドでは、特に引数を指定しない場合はパブリックなインスタンスメンバのみを返します。 非パブリックやクラスのメンバ(静的メンバ)を取得したい場合はBindingFlagsを指定する必要があります。 BindingFlagsには次のような値が用意されています。

メンバ情報の取得とBindingFlags
意味 備考
BindingFlags.Static 静的メンバを対象とする どちらか一方または両方を指定する必要があります
BindingFlags.Instance インスタンスメンバを対象とする
BindingFlags.Public パブリックメンバを対象とする どちらか一方または両方を指定する必要があります
BindingFlags.NonPublic 非パブリックメンバを対象とする
BindingFlags.IgnoreCase メンバの名前を指定する際に、大文字小文字の違いを無視する
BindingFlags.DeclaredOnly その型で宣言されているメンバのみを対象とする (継承されたメンバを含めない)
BindingFlags.FlattenHierarchy 継承された静的メンバを対象とする
意味 備考
クラスの型情報から非パブリックなメンバのみを取得して表示する
using System;
using System.Reflection;

class C {
  public void M1() {}
  protected void M2() {}
  private void M3() {}
  private static void M4() {}

  public string F1 = null;
  private string F2 = null;
  private static string F3 = null;
}

class Sample {
  static void Main()
  {
    var t = typeof(C);

    // 非パブリックなインスタンスメンバのみを取得して列挙する
    foreach (MemberInfo m in t.GetMembers(BindingFlags.NonPublic | BindingFlags.Instance)) {
      Console.WriteLine("{0}\t{1}", m.MemberType, m);
    }
  }
}
実行結果
Method	Void M2()
Method	Void M3()
Method	Void Finalize()
Method	System.Object MemberwiseClone()
Field	System.String F2