Is it possible to access an object from a member object without passing and storing a reference? In the example below, could a given chair object get access to the house object without the house having to pass its reference down the members hierarchy?
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";
}
}
The answer could be via reflection but I don't have a clue how to do it, or is there another way to achieve the same.
Thanks in advance
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…