2012-01-19 96 views
6

我有一个对象,我想打印出它的所有父类型直到对象?怎么做?如何打印出对象的所有基类型?

+1

你什么意思通过做 “所有这一切的基本类型”? –

+0

它有基本类型,基本类型有它自己的基本类型。 – user705414

+0

@EtiennedeMartel他意味着在继承heirarchy达到System.Object类型的所有基类型 – VS1

回答

5

如果你只在层次感兴趣:

Type type = obj.GetType(); 
while (type != null) 
{ 
    Console.WriteLine(type.Name); 
    type = type.BaseType; 
} 
+0

是类型。名称与type.ToString()相同? – user705414

+0

@ user705414:很可能。我认为我会明确:) –

+1

@JonSkeet,几乎相同... // System.Type public override string ToString() { \t return“Type:”+ this.Name; } –

1
Type currentType = obj.GetType(); 
while (currentType != null) 
{ 
    Console.WriteLine(currentType.ToString()); 
    currentType = currentType.BaseType; 
} 
2
var t = obj.GetType(); 

while (t != null) 
{ 
    Console.WriteLine(t.Name); 
    t = t.BaseType; 
}