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

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

class C1 {
  public void M1() {}
}

class C2 : C1 {
  public void M2() {}
}

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

    // C2クラスで宣言されているメンバのみを取得して列挙する
    // (C2クラスが継承しているメンバを除外して取得する)
    foreach (MemberInfo m in t.GetMembers(BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Instance)) {
      Console.WriteLine("{0}\t{1}", m.MemberType, m);
    }
  }
}
実行結果
Method	Void M2()
Constructor	Void .ctor()