トップページに戻る    次のC#のサンプルへ    前のC#のサンプルへ

1-2 リフレクション

C#のサンプル

C#でのリフレクションのサンプルです。
メンバ変数と、そのメンバ変数の値を列挙します。

dobon --- 型(クラス、構造体など)のすべてのメンバを取得する
dobon --- 型のメンバを動的に呼び出す

@IT --- メソッドやプロパティの有無を確認して呼び出すには?


ソース

using System;
using System.Reflection;

class Program
{
    class ReflectionTestClass
    {
        internal string member1;
        internal string member2;
        internal void EnumMember()
        {
            Type TypeInfo = this.GetType();

            FieldInfo[] Fields = TypeInfo.GetFields(
                BindingFlags.NonPublic | BindingFlags.Instance);
            foreach (FieldInfo f in Fields) {
                Console.WriteLine("{0} = {1}", f.Name, f.GetValue(this));
            }
        }
    }

    static void Main()
    {
        var Ins = new ReflectionTestClass() { member1 = "aaa", member2 = "bbb" };
        Ins.EnumMember();
    }
}


実行結果

member1 = aaa
member2 = bbb