C# 如何检查内部类属性

C# 如何检查内部类属性,c#,reflection,C#,Reflection,这是一节课 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 {

这是一节课

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; }
    }
}
现在,我想打印以控制台ClassA的所有公共属性,所以我使用

(obj是方法获取并打印出其所有属性的某个参数)

但是当我的应用程序看到ClassA的ClassB对象时——我也想打印出所有的ClassB属性——我不知道如何在运行时知道ClassB是类而不是原始对象,以及如何在运行时打印出所有ClassB属性

请尝试以下代码:

Type type = Type.GetType("ClassA+ClassB");
var allProp = type.GetProperties();
如果需要类型的动态名称,请尝试使用下一个代码:

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

这是可行的-但在这种情况下,我不知道类型是string\int还是我定义的某个类。。。如果类是string/int或任何基元类型-我不想打印他的属性检查这个问题的答案-应该会有帮助
string fullname = typeof(ClassA.ClassB).FullName;