差PropertyInfo、のFieldInfo、のMemberInfo [仕上げ] C#の反射(反射)の詳細

 

 

 

パブリック クラスTestClassを
{ 
    プライベート int型の A = 1 ; // 私有一律获取不到
    公共 int型のB 
    { 
        取得 { 戻ります 2 }
         のセット {値= 2 } 
    } 
    パブリック INT C = 3 
} 

パブリック 静的 ボイドのtestMethod()
{ 
    TestClassをテスト = 新しいTestClassを()。
    PropertyInfo []プロ = test.GetType()GetPropertiesの()。
    FieldInfo [] FIL= Test.GetType()れるGetFields();. 
    のMemberInfo []男性 = test.GetType()GetMembers();. 

    foreachのVARの項目プロ)// のみ取得プロパティB(出力= 2 B)
    { 
        コンソール。 WriteLineに(" PropertyInfo:" + item.name + " = " + item.GetValue(テスト、NULL )); 
    } 
    foreachの(のFieldInfoアイテム FIL)// のみ取得フィールドC(= 2 C出力)
    { 
        コンソール。 WriteLineメソッド(" のFieldInfo:" + item.name + =" + Item.GetValue(試験)); 
    } 
    foreachの(のMemberInfoアイテム FIL)// のみ取得フィールドc(出力c)
    { 
        Console.WriteLineを(" のMemberInfo:" + item.name); 
    } 
}

 

 

 

 

参照

詳細[仕上げ] C#の反射(反射)

おすすめ

転載: www.cnblogs.com/code1992/p/11348064.html