首页 > 解决方案 > 如何将类对象列表添加到类中?

问题描述

我有 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}
}

标签: c#polymorphism

解决方案


正如评论中所述,(似乎)让公寓继承房屋没有用。如果您删除继承,您可以制作一些引用 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 };

推荐阅读