.NET, C #, Reflexión: liste los campos de un campo que, a su vez, tiene campos

En .NET & C #, supongamosClassB tiene un campo que es de tipoClassA. Uno puede usar fácilmente el métodoGetFields ListarClassBcampos de Sin embargo, quieroademás enumerar los campos de aquellosClassB campos quesí mismos tener campos. Por ejemplo,ClassBcampo dex tiene camposb, syi. Me gustaría (programáticamente) enumerar esos campos (como lo sugieren mis comentarios en el código a continuación).

class ClassA
    {
    public  byte    b ;
    public  short   s ;
    public  int i ;
    }

class ClassB
    {
    public  long    l ;
    public  ClassA  x ;
    }

class MainClass
    {
    public static void Main ( )
        {
        ClassA myAObject = new ClassA () ;
        ClassB myBObject = new ClassB () ;

        //  My goal is this:
        //    ***Using myBObject only***, print its fields, and the fields
        //    of those fields that, *themselves*, have fields.
        //  The output should look like this:
        //    Int64   l
        //    ClassA  x
        //               Byte   b
        //               Int16  s
        //               Int32  i

        }
    }

Respuestas a la pregunta(5)

Su respuesta a la pregunta