C# 获取包含类的实例
是否可以在不传递和存储引用的情况下从成员对象访问对象?在下面的示例中,给定的椅子对象是否可以访问房屋对象,而房屋不必将其引用向下传递到成员层次结构C# 获取包含类的实例,c#,reflection,reference,C#,Reflection,Reference,是否可以在不传递和存储引用的情况下从成员对象访问对象?在下面的示例中,给定的椅子对象是否可以访问房屋对象,而房屋不必将其引用向下传递到成员层次结构 public class Chair { public string Material { get; set; } public Chair() { Material = "Wood"; } public bool IsInMiami() { // Get instance of Hou
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";
}
}
公共课主席{
公共字符串材质{get;set;}
公共主席(){
材料=“木材”;
}
公共图书馆{
//获取找到椅子的房子的实例
豪斯豪斯=…//反射?
返回之家。城市。等于(“迈阿密”);
}
}
公共教室{
私人名单——主席;
公共房间(){
_主席=新名单();
_椅子。添加(新椅子());
}
}
公屋{
私人房间清单;
公共字符串City{get;set;}
酒店(){
_房间=新列表();
_房间。添加(新房间());
城市=“奥兰多”;
}
}
答案可能是通过反思,但我不知道如何去做,或者有没有其他方法可以达到同样的效果
提前感谢如果椅子没有提到房子,那就没办法做到这一点。从椅子的角度来看,它和房子之间没有关系。事实上,这把椅子可能属于许多房子,也可能不属于任何房子。首先,这是一个真实问题的例子,还是只是一个学习的例子
检查房屋位置肯定不是主席的责任。如果你想找到迈阿密所有的椅子,你必须遍历整棵树或给它一个参考 同意@lukas,此外,如果你的忙碌规则要求(比如)找到椅子的地址,那么最好有一个指向父对象的链接,而不是使用反射。是否有任何意义:如果
房子对象不能通过其引用,为什么椅子
对象有机会获得该引用?我想不应该。