c# - 如何将类对象列表添加到类中?
问题描述
我有 3 个班级:House、Apartment 和 Resident。每个类都有字符串名称等基本属性。问题是如何在它们之间创建如下链接:
1. House 类应该有 Apartment 属性(Apartments as List (?) 因为一个 House 可以有多个 Apartments)
2. 公寓类有房产House(单人)(公寓所在的房子)。还收集(列表?)居民(住在公寓里的人)。
3. 有Apartment(单)属性的居民类。
我已经使用继承创建了这些类的结构,但它不起作用 - 不能在没有指定公寓的情况下创建住宅,不能在没有住宅的情况下添加公寓等等。
public class House
{
public int number { get; set; }
public string street { get; set; }
public List<Apartment> apartments = new List<Apartment>();
}
public class Apartment:House
{
public int apt_number { get; set; }
public int apt_Rooms { get; set; }
public House house;
public List<Resident> residents = new List<Resident>();
}
public class Resident
{ public string name {get;set;}
public string surname {get;set}
public Apartment apartment {get;set}
}
解决方案
正如评论中所述,(似乎)让公寓继承房屋没有用。如果您删除继承,您可以制作一些引用 House 对象的 Apartment 对象,并将这些添加到 House 中的 Apartment 列表中。
House house = new House();
Apartment app1 = new Apartment { house = house };
Apartment app2 = new Apartment { house = house };
Apartment app3 = new Apartment { house = house };
house.apartments = new List<Apartment>{ app1, app2, app3 };
推荐阅读
- transactions - 在corda中排序交易
- c# - Linq2db:查询对象层次结构的有效方法
- javascript - 任意点击从 JS 数组中获取一个元素
- google-cloud-platform - 有没有办法在基于多个 pub/sub 订阅的 kubernetes 中实现 HPA?
- android - 如何在android中首次初始化ViewModel中的LiveData?以及使用哪个工厂?
- javascript - 从移动设备访问时,在 localhost 上运行的应用程序无法启用摄像头麦克风
- html - CSS如何设置文本下方doth下划线的自动长度
- javascript - 在提交表单之前使用 javascript 验证选择
- java - 如何使用 pdfHtml 和 iText 7 划掉表格单元格
- angular - 在 Angular 10 中安装缺少的依赖项