如何在另一个包含c#中列表的类类型列表中添加Element

时间:2015-06-29 11:58:57

标签: c# asp.net-mvc

如何将元素添加到ChartIntakelist。

List<MappingAccessRightModel> listAccessRights = new List<MappingAccessRightModel>();
foreach (var item in accessRights)
{
    listAccessRights.Add(new MappingAccessRightModel
    {
        Application = item.Application,
        ListAccessRights = new List<AccessRightModel> { 
            new AccessRightModel{
                Application = item.Application,
                Id = item.ID,
                Name = item.Name,
                ChartIntakelist = new List<ChartIntake>().Add(new ChartIntake{ChartIntakeID = item.ID , ChartIntakeName = item.Name})
            }
        }
    });
}

public class AccessRightModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Application { get; set; }

    public string GroupName { get; set; }

    public List<AccessRightModel> AccessRight { get; set; }
    public List<ChartIntake> ChartIntakelist { get; set; } 

}

public class ChartIntake 
{
    public int ChartIntakeID { get; set; }
    public string ChartIntakeName { get; set; }
}

enter image description here

下图显示了我所面临的错误,我想在列表元素中添加列表元素。

listAccessRights是包含chartIntakeList - 属性的列表。 我想将元素添加到ChartIntakeList

1 个答案:

答案 0 :(得分:3)

您需要使用collection initializer语法。您当前要做的是将列表设置为Add方法的结果,即void - 这不起作用。

ChartIntakelist = new List<ChartIntake>
{
    new ChartIntake{ChartIntakeID = item.ID , ChartIntakeName = item.Name}
}