class A
public string Z{get{return b.X}}
class B
public string X{get{return c.Y;}}
こうしようと
A.b.c.Y
こうしようと実質一緒じゃないか?