2012-05-19 54 views
1

這是一些類如何檢查內部類的屬性

public class ClassA 
{ 
    public string Name { get; set; } 
    public string Color { get; set; } 
    public ClassB ClassB_ { get; set; } 


    public class ClassB 
    { 
     public string Name { get; set; } 
     public float Age { get; set; } 
    } 
} 

現在,我想打印,所以我用這個

(OBJ安慰ClassA的所有公共屬性,是一些參數的方法獲取並打印出自己的所有屬性)

var allProp = obj.GetType().GetProperties(); 

但是,當我看到申請的ClassA的ClassB的對象 - 我想打印出來也全部ClassB的財產 - 我不知道如何ç我知道在運行時ClassB是類而不是原始對象,以及如何在運行時我可以打印出所有的ClassB屬性?

回答

2

試試這個代碼:

Type type = Type.GetType("ClassA+ClassB"); 
var allProp = type.GetProperties(); 

如果需要類型的動態名稱嘗試使用下面的代碼:

string fullname = typeof(ClassA.ClassB).FullName; 
+0

這是工作 - 但在這種情況下,我不知道是否該類型是字符串\ int或我定義的一些類...如果類是字符串/ int或任何基本類型 - 我不想打印他的屬性 – Yanshof

+1

檢查這個問題的答案 - http://stackoverflow.com/questions/6424846/how-to-get-all-primitive-type-of-object它應該幫助 – RredCat

+0

謝謝,但我想要av oid這樣... :) – Yanshof