5

是否可以在不传递和存储引用的情况下从成员对象访问对象?在下面的示例中,给定的椅子对象是否可以访问房屋对象,而房屋不必将其引用向下传递给成员层次结构?

public class Chair {
    public string Material { get; set; }

    public Chair() {
       Material = "Wood";
    }

    public bool IsInMiami() {
       // Get instance of House where chair is found
       House house = ... // Reflection?
       return house.City.Equals("Miami");
    }
}

public class Room {
    private List<Chair> _chairs;

    public Room() {
       _chairs = new List<Chair>();
       _chairs.Add(new Chair());
    } 
}

public class House {
    private List<Room> _rooms;
    public string City { get; set; }

    public House() {
       _rooms = new List<Room>();
       _rooms.Add(new Room());
       City = "Orlando";
    }
}

答案可能是通过反思,但我不知道如何做到这一点,或者是否有另一种方法来实现同样的目标。

提前致谢

4

2 回答 2

5

如果主席没有提到众议院,就没有办法做到这一点。从主席的角度来看,它与议院没有任何关系。事实上,主席可能属于许多议院,也可能不属于任何议院。

于 2012-09-14T04:44:54.160 回答
1

首先,这是一个真实问题的例子还是只是一个用于学习目的的例子?

检查房屋位置绝对不是主席的责任。如果你想找到迈阿密的所有椅子,你必须遍历整棵树或给它一个参考。

于 2012-09-14T04:48:11.680 回答