normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

クラス情報の取得

C#でのクラス情報を受け取る際に、以下のプロパティを設定して実行する必要があります。

  • サンプルクラスの作成

簡単にprivateメンバとpublicメンバを作成してみる。

class SmpClass
{
 private int m_int;
 protected Decimal m_deci;
 static public bool flag;
 public void show()
 {
  Console.WriteLine("m_int={0}, m_deci={1}", m_int, m_deci);
 }
}
  • クラスの private, instance メンバ一覧を取得する
SmpClass smp = new SmpClass();
Type t = smp.GetType();
t.GetFields( BindingFlags.NonPublic | BindingFlags.Instance );
>System.Object MemberwiseClone()
>Void Finalize()
>Int32 m_int
>System.Decimal m_deci
  • クラスの public, static メンバ一覧を取得する
SmpClass smp = new SmpClass();
Type t = smp.GetType();
t.GetMembers(BindingFlags.Public| BindingFlags.Static)
> Boolean flag
  • 疑問

以下のプロパティがちょっと謎

    • System.Object MemberwiseClone()
    • Void Finalize()