在一个内部类中创建一个对象列表

本文关键字:创建 一个对象 列表 内部类 一个 | 更新日期: 2023-09-27 18:12:53

我有两个对象:

public class DPMenu
{
    private String menuDescription;
    private List<DPMenuItem> menuItems = new List<DPMenuItem>(4);   // Initialize list with 4 items
    public DPMenu(String menuHeader)
    {
        menuDescription = menuHeader;
    }
    public String Description
    {
        get { return menuDescription; }
        set { menuDescription = value; }
    }
    public List<DPMenuItem> MenuItems
    {
        get { return menuItems; }
    }
}

public class DPMenuItem
{
    private String itemDescription;
    private String itemActionLink;
    public String Description
    {
        get { return itemDescription; }
        set { itemDescription = value; }
    }
    public String Link
    {
        get { return itemActionLink; }
        set { itemActionLink = value; }
    }
}

我可以在一个镜头创建一个对象DPMenu填充内部列表?例如

List<DPMenu> mainMenu = new List<DPMenu>();
DPMenu menuHeader;
List<DPMenuItem> menuItems = new List<DPMenuItem>() {
    new DPMenuItem { Description = "A", Link = "A" },
    new DPMenuItem { Description = "B", Link = "B" }
};
menuHeader = new DPMenu("HD").MenuItems.AddRange(menuItems);

但是它不工作…谢谢你!

在一个内部类中创建一个对象列表

为什么不简单地创建另一个重载构造函数呢?

public DPMenu(String menuHeader, List<DPMenuItem> itemList)
{
    menuDescription = menuHeader;
    menuItems = itemList;
}

完成后,只需让代码执行以下操作。不知道你在做什么,但希望这对你有帮助。

  List<DPMenuItem> menuItems = new List<DPMenuItem>() {
                new DPMenuItem { Description = "A", Link = "A" },
                new DPMenuItem { Description = "B", Link = "B" }
  };
  menuHeader = new DPMenu("HD", menuItems);